質問: Swiftでアプリを作成し、iTunesConnectにsubmitしました。 1時間もせず、rejectの返事が返ってきたのですが(初めてのrejectでした)、 iPhone 6 Plus running iOS8.1 でcrashするためrejectする、とのメッセージでした。 添付されたcrash logを解析すると、 最初のViewControllerでviewWillAppearメソッドのところでクラッシュしていることが 判明しました。 それで、ここからが問題なのですが、 私自身はiPhone 6 Plusの実機を持っておらず、所持しているのは iPhone 6, iPhone 5, iPad mini 2で、これらの3つのデバイスでは、 そのクラッシュが全く再現できないことです。 なお、metalを使っており、そのままシミュレーターでのテストはできないのですが、 metalの実装を削除したものでは、iPhone 6 Plusシミュレーターで、crashは 再現されませんでした。 iTunesConnectからのメッセージの中には、 release buildでのテスト方法、 テストしているbuildがsubmitしているものと同じかどうか確認する方法 が記載されており、それらの確認も行いましたが、 release buildでも再現できず、そのrelease buildはsubmit buildと 同じものであることも確認できました。 このような状況下で、再現できないcrashにどのように対処するべきか 悩んでおります。状況が、かなり限定的であり、なかなか同じ境遇という ものはないかと思うのですが、もし、同じような経験談や、解決方法の 糸口でもいただければと思い、質問する次第です。 など、このアプリでは、 AVFoundation.framework(カメラ) CoreMotion.framework(モーション) Metal.framework(Metal) などのフレームワークを使っています。 追加情報が必要であれば、適宜対応いたします。 よろしくお願い致します。
回答: iTunesConnectの問題解決センターで返事が返ってきました。 Upon continuing with the review, we were unable to reproduce the crashing issue. つまり元のbuildで問題なかったようです。なぜ、iPhone 6 Plusで問題が発生した かのようになったのかは、結局不明です。 ちなみに、この後にとってつけたような、別の問題が提起されていました。 対象buildはバージョンアップで、指摘された別の問題に関しては、全く変更しておりませんし、 以前のバージョンで、問題視されたこともありません。 なお、この別の問題についても、一言説明を加えたら、そのままreviewが通りました。 Submitから1時間程度でrejectされたことから、Appleでの自動チェックシステムに 引っかかったのだと思っておりますが、必ずしも自動チェックのrejectは正しくない ということを知ることができた良き経験だったと、今は思っています。