У меня есть продукт iOS, в котором есть несколько различных SKU, каждый из которых должен начинаться с другого контроллера вида. У меня есть разные SKU, разделенные Targets, что позволяет мне указать препроцессоры, необходимые для этой версии продукта.Можно ли изменить «начальный контроллер представления» на основе Target?
Единственное, что я хотел бы сделать, однако, это изменить значение «начальное представление контроллера» в раскадровке, чтобы создать различные SKU без необходимости вручную включать или выключать окно в зависимости от по тому, что я строю.
Итак, мой вопрос: может ли это быть сделано цели или программно (так что я могу сделать это, используя #ifdef с конкретными препроцессорами SKU)?
Заранее благодарен!
Спасибо Мартину, это прекрасно работает. Единственное отличие заключается в том, что я использовал препроцессор, определенный в настройках Target (то есть INITIAL = "@ \" Initial_Target1 \ "") и передал определение непосредственно в 'instantiateViewControllerWithIdentifier'). –
Быстрое добавление ... Для всех, кто это видит. Я бы посоветовал сделать это на ** конце ** «application: didFinishLaunchingWithOptions:», если вы выполняете какую-либо обработку там, которая инициализирует начальное представление, так как иначе 'viewDidLoad' вызывается перед' application: doneFinishLaunchingWithOptions: 'exit , –
Я обычно создаю что-то вроде класса «менеджер презентаций», который я установил, и вызываю 'setupWindow:' on. этот менеджер тогда знает о ссылках на все раскадровки (Main.storyboard, Login.storyboard, ..) и необходимые идентификаторы (например, 'presentLoginWithCompletionHandler:') –