Objective-C - Разница в методах запуска приложений от iOS 4 до iOS 5? - PullRequest
5 голосов
/ 01 ноября 2011

Первоначально я разработал свое приложение для iOS 4, и теперь, когда вышла iOS 5, я решил разработать для iOS 5 SDK, который теперь, кажется, сломал мое приложение.

У меня есть приложение панели вкладок сконтроллер навигации в каждой вкладке.

В iOS 4 все, что было в методе -application:didFinishLaunchingWithOptions:, выполнялось первым после запуска.После того, как этот метод был выполнен, контроллер представления для первой вкладки был загружен.

Так, когда я регистрирую свой процесс запуска приложения (запускающий симулятор для iOS 4.3 ), это выглядит так:

-[AcandoAppDelegate application:didFinishLaunchingWithOptions:] [Line 35] didFinishLaunchingWithOptions method running
-[AcandoAppDelegate application:didFinishLaunchingWithOptions:] [Line 60] This should be executed first // And it does as it should
-[AcandoAppDelegate applicationDidBecomeActive:] [Line 254] applicationDidBecomeActive method running
-[SeminarsViewController viewDidLoad] [Line 58] 2 - viewDidLoad method running
-[SeminarsViewController viewDidLoad] [Line 60] This should be executed second // Also as it should
-[SeminarsViewController viewWillAppear:] [Line 123] 3 - viewWillAppear method running
-[SeminarsViewController viewDidAppear:] [Line 173] viewDidAppear running

Теперь, когда я регистрирую процесс запуска своего приложения (запускающего симулятор для iOS 5.0 ), это выглядит так:

-[AcandoAppDelegate application:didFinishLaunchingWithOptions:] [Line 35] didFinishLaunchingWithOptions method running
-[SeminarsViewController viewDidLoad] [Line 58] 2 - viewDidLoad method running
-[SeminarsViewController viewDidLoad] [Line 60] This should be executed second // So this should be executed second but is executed first
-[SeminarsViewController viewWillAppear:] [Line 123] 3 - viewWillAppear method running
-[AcandoAppDelegate application:didFinishLaunchingWithOptions:] [Line 60] This should be executed first // And this is executed second but should be executed first
-[AcandoAppDelegate applicationDidBecomeActive:] [Line 254] applicationDidBecomeActive method running
-[SeminarsViewController viewDidAppear:] [Line 173] viewDidAppear running

Я что-то упускаю из этого здесь очевидного?Для меня, похоже, у нас есть две разные ситуации запуска между iOS 4 и iOS 5?

1 Ответ

1 голос
/ 01 ноября 2011

Почему успешный запуск вашего приложения зависит от конкретной последовательности этих событий? В этих последовательностях, приведенных выше, не должно быть ничего, что могло бы вызвать проблему, ваш код не должен знать точную последовательность запуска.

Можете ли вы дать код, объясняющий, ПОЧЕМУ это вызывает у вас проблемы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...