iOS10ライフサイクル

先日Xcode8のフレームがどうのって記事を書いたんですけど、そんなことよりライフサイクルだな。と思ったのでシーケンス図風のものを書き出しました。png貼ってますがサイズ大きめです。参考程度に。上から下へ処理が進んで行きます(意味わかるよね?

今回使ったアプリ

確認した内容はこんな感じ

+ AppDelegate
| |
| + UINavigationController
|   |
|   +-+ UIViewController
|     |
|     +-+ UIView(UIViewController.view
|
+ Notification
  • Storyboard使って、画面遷移などはしていないです
  • UITabBarControllerも使っていないです(ライフサイクルが結構かわるのですごく長くなるから

起動

その他バックグラウンド/フォアグラウンドなど

その他

  • バックグラウンドに移行する ≠ フォアグラウンドではなくなる(アプリが見えなくなる)
  • バックグラウンドに移行したかどうかは didEnterBackground でしか判断できない
  • UIApplicationXXXなステータス変更のNotificationはAppDelegateのメソッドが呼ばれた後で最後に通知飛ばされてるみたい
  • 通知センターやコントロールセンターはアプリがバックグラウンドに移行するわけではない
  • プッシュ通知の検証はめんどくさくてやらなかった(バナーはどうでもいいけどアラートは確認してもよかったかな)
  • OmniGraffleは便利