私は最初にiOS 4用のアプリを開発しましたが、今ではiOS 5 SDKが開発され、私のアプリが壊れているようです。Objective-C - iOS 4からiOS 5までのアプリ起動メソッドの違いは?
私は各タブにナビゲーションコントローラを備えたタブバーアプリケーションを持っています。
iOS 4では、起動後に最初に-application:didFinishLaunchingWithOptions:
メソッドにあったものが実行されました。そのメソッドが実行された後、最初のタブのビューコントローラがロードされました。
だから私は私のスタートアップアプリのプロセスをログインしたとき(のためのシミュレータを実行しているiOSの4.3)それは次のようになります。私は私のスタートアップアプリのプロセスをログイン時にのiOS 5.0用のシミュレータを実行している(今
-[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
)これは次のようになります。
-[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の2つの異なるスタートアップ状況があるようですね。
これを複数回テストすると、結果は同じですか? –
はい結果は毎回同じです。 iOS 4と比較して、iOS 5では.xibファイル(私の場合はMainWindow.xib)の処理が異なりますか? –