web-dev-qa-db-ja.com

iOSアプリがAppleのTestflightからダウンロードされているかどうかを検出する

過去には、TestFlightを介して配布された本番ビルドとベータビルド用に別々のビルド構成がありました。これにより、アプリの追加設定を公開してテスターがより徹底的にテストし、アプリのステータスに関するより多くの技術情報を確認できるようにするなど、ベータビルドに簡単に変更を加えることができました。

アプリがAppleのTestFlightを介して配布されているかどうかを確認して、アプリの実行方法を変更する方法はありますか?同じビルドをベータテスターに​​配布してストアに送信できるため、コンパイラ指令は意味をなさなくなりましたが、実行時にチェックする方法があるかもしれません。

20
Anthony Mattox

これは機能します:

if ([[NSBundle mainBundle] pathForResource:@"embedded" ofType:@"mobileprovision"]) {
    // TestFlight
} else {
    // App Store (and Apple reviewers too)
}

更新

上記の方法はもう機能していないようです、Apple TestFlightビルドへの署名方法を変更しました。ただし、これは機能します:

BOOL isRunningTestFlightBeta = [[[[NSBundle mainBundle] appStoreReceiptURL] lastPathComponent] isEqualToString:@"sandboxReceipt"];
36
Kevin Renskers