xcode 8
を使用してプッシュ通知設定を行う場合、xcode 7
、xcode 8
とは異なり、開発者はプッシュ通知機能スイッチをオンにする必要があります(次の写真のTARGETS -> AppName -> Capabilities
にあります)、
その後、次のようにAppName.entitlementsファイルを生成します
//AppName.entitlements
<key>aps-environment</key>
<string>development</string>
しかし、プロダクションバージョンアプリの場合、文字列を
//AppName.entitlements
<key>aps-environment</key>
<string>production</string>
その後、機能は警告を表示します
そして、aps-environmentでどの文字列値が指定されていても、application:didRegisterForRemoteNotificationsWithDeviceToken:
でプッシュデバイストークンを取得できます
それでは、プッシュ通知資格の正しい設定は何ですか?ありがとうございました
今日、Xcode 8 GMでそれと格闘していた。設定を無効にし、開発者ポータルのプロビジョニングプロファイルを削除して再生成し、設定を再度有効にした後、Xcodeの警告を削除することができました。私は資格ファイルをいじっていなかったことに留意してください。開発環境に残し、アーカイブした後、正しいaps-environment設定(本番)を取得しました。
XcodeはGMでもまだ非常にバグが多いようです
私の問題は、プッシャークライアントが古く、トークンをデバッグするためにのみ正常にプッシュすることでした。私がまだ修正に取り組んでいる他の問題は、legacy-apiが有効になっているジムでのみアプリをエクスポートできることです。これはapns-environmentを「生産」に設定せず、「 embedded-mobile.provision」ファイル。しかし、今では、apns(prod)を操作するために、xcodeオーガナイザーを介してアプリを正常にデプロイすることができました。
より良い解決策は、プロジェクトパッケージを開いてproject.pbxproj
を開くことだと思います
CODE_SIGN_ENTITLEMENTS
を変更します
CODE_SIGN_ENTITLEMENTS = "your-app/production.entitlements";