###※既存のアプリで以下の様な実装をしている場合、ios9にアップしたタイミングでアプリが起動しなくなる可能性が濃厚なので早めに対応したほうがいいかもです。
先日、申請に出していたアプリが起動時にクラッシュするということで、appleからリジェクトをくらいました。
そんなはずは無いけどなと思い再度確認するものの現象の再現が出来ず色々と調べておりましたら。
こんな記事を見つけました。
iOS9でアプリが起動直後にクラッシュする場合の回避方法
これは[didFinishLaunchingWithOptions]でwindowのrootViewControllerに何も入れて無いとios9からクラッシュするよというものです。
今回提出していたアプリは起動時に通信を挟んでそのレスポンスを元にwindowのrootViewControllerに入れるViewControllerを分けていた為に、[didFinishLaunchingWithOptions]ではrootViewControllerには何も入れていませんでした。
そしてappleから頂いたクラッシュレポートを見た所
[OS Version: iOS 9.0 (13A340)]
と記載があり、ios9でレビューしているようでした。
今回の対策としては[didFinishLaunchingWithOptions]でwindowのrootViewControllerにただのUIViewControllerのインスタンスを突っ込み再申請しました。
追記:またリジェクトくらいました。原因はまた起動時に落ちるということだったので、面倒だったのですが、原因究明のためXcodeを7.0にし、swift2.0の為にコードを修正して確認しました。
すると、データを保存しているフォルダの名前を日本語にしていたのですが、どうやらios9ではうまく読み込めていないようでした。
そこでフォルダ名を英語にし再申請しました。
更に追記:無事審査通りました。
#てかそもそも正式リリースしてないOSでレビューすんなよって話だよ!!
ま、ios9が公開されてクラッシュされるよりましだが…