APNSを有効にしてアプリIDを作成し、開発証明書と運用証明書の両方を構成しました
資格を作成すると、プロビジョニングプロファイルをiTunes展開に変更した場合でも、常に開発が表示されます。資格も開発として表示されます。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.Apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>aps-environment</key>
<string>development</string>
</dict>
</plist>
デバッグ/開発では本番証明書を使用できません。たとえそれを行ったとしても、「アーカイブ」するとXcodeは自動的に本番環境に設定します( Apple reference )。 TestFlight/ReviewまたはadHoc展開のためにiTunes Connectにアプリを送信しようとすると、これを確認できます。
Xcode 8:
Xcode 9:
Xcodeには既知のバグがあり、手動でこれを「本番」に設定すると、Xcodeが「問題を修正」ボタンで資格設定の横にエラーを表示します。これをクリックすると、「開発」に戻ります。これは、not目的の機能です。私が言ったように、それは既知の問題であり、最初に発見したときにレーダーを提出したと思います。
Xcode 8.3 beta 2で修正されました。その間、手動で「生産」に設定し、Xcodeが提供するエラーを無視してください。プロジェクトは正常に動作します。
XCode 10.2:
Archiveの前にターゲットを「Generic iOS Device」に変更すると、aps-environment変数がproductionに設定されます。ターゲットをデバイスに設定してアーカイブすると、aps-environment変数がdevelopmentに設定されてアーカイブされます。