アプリをテスターのグループに配布できるiTunesConnectのプレリリースツールを使用しています。しかし、数日後、アプリは起動直後(表示されているスプラッシュスクリーンの直後)にクラッシュするようです。エラーログはありません。
これは、すべてのTestFlightアプリが持っていると思われる30日間の有効期限に関係があるのでしょうか、それとも、それが私のコードに原因があるのでしょうか。
次回ユーザーがベータ版アプリを起動しようとすると、"YOURAPPNAME" Beta Has Expired
、アプリは起動しません。
あなたの質問が説明するように、アプリはクラッシュ(または実行)すべきではありません。
完全に正しい、Toydor!
30日の期間が経過すると、テストでアプリをダウンロードまたは実行できなくなります。この期間を延長する方法が見つかりませんでした。更新されたバージョンをアップロードして、さらに30日を取得できます。
アプリが実行できないのは、有効なプロビジョニングプロファイルが見つからなかったためです。
そして、これらのログをデバイスのコンソール出力で見つけることができます:
Mar 9 08:34:48 ***-iPhone amfid[***] <Error>: SecTrustEvaluate [leaf CriticalExtensions IssuerCommonName]
Mar 9 08:34:48 ***-iPhone amfid[***] <Error>: /private/var/mobile/Containers/Bundle/Application/B4BF7C1D-2DF4-4B8D-943B-57BABD30****/***.app/*** not valid: 0xe8008015: A valid provisioning profile for this executable was not found.
Mar 9 08:34:48 ***-iPhone kernel[0] <Notice>: AMFI: hook..execve() killing pid 10282: no code signature
Mar 9 08:34:48 ***-iPhone kernel[0] <Notice>: Sandbox: hook..execve() killing pid 10282: application requires container but none set
Mar 9 08:34:48 ***-iPhone com.Apple.xpc.launchd[1] (UIKitApplication:com.***.***[0x4711][10282]) <Notice>: Service exited due to signal: Killed: 9
これを識別するには、次の2つの方法があります。
デバイスでアプリを取得し、アプリを実行してから、デバイスにクラッシュレポートがあるかどうかを確認します。 Xcodeを使用します。クラッシュレポートがある場合は、それを確認します。さらに、「クラッシュ」が発生したときにデバイスのコンソール出力を確認します。
ITunes ConnectのWebサイトを確認して、特定のビルドに移動します。ページに、そのビルドのステータスが「期限切れ」と表示されているかどうかを確認します。