web-dev-qa-db-ja.com

Xcode 8 APS Environment Entitlementは実稼働環境に設定されません

アプリでプッシュ通知を使用しています。
新しいアプリの更新を送信しようとすると、APS環境が設定されていない状態でエラーが発生しました。
修正の問題が発生し、APS環境が開発に設定された資格ファイルが作成されました。

アプリを提出するには、明らかにこのセットを本番にしたいです。値を本番に変更し、送信のためにアプリのアーカイブに進みます。
プッシュ通知の機能セクションにエラーがスローされ、最後の「プッシュ通知の資格を資格ファイルに追加」が赤になります。

したがって、修正の問題が発生すると、APS環境の価値が開発に変わります。
プロビジョニングプロファイルを調べ、APS環境プロパティを探すという提案に出会いました。
アーカイブのプロセスを経て、「App Storeへのアップロード」を選択しました。

最終的に概要に到達したとき、バイナリと資格に添付されたプロビジョニングプロファイルをクリックしました。
プロビジョニングプロフィールをテキストエディターで開き、APS環境プロパティを探しました。
プロパティを見つけましたが、プロビジョニングプロファイルで本番に設定されています。
別の提案を試すことにしました。これは、ディストリビューションプロビジョニングプロファイルを再作成することでした。
新しいものを作成しましたが、その解決策も機能しません。

私が理解したことから、APS環境プロパティはプロビジョニングプロファイルの値に基づいています。

任意の助けをいただければ幸いです。ありがとう。

39
user2337981

機能の「プッシュ通知」をオフにしてから再構築します。

更新

数時間のデバッグの後、Xcode8をどのように構成するか、どのようなスキーム(デバッグまたは本番)でビルドするかに関係なく、APNSから開発環境用のdeviceTokenを常に取得します。実動スキームを使用してXcode8.1から直接ビルドするテストデバイス上のアプリを削除しようとしました。次に、2週間前に同じ構成でXcode8.1からアーカイブされたAppStoreからアプリをインストールしました。AppStoreバージョンの通知サービスは正常に機能し、Xcodeが実稼働環境に適切な資格値を設定したことを証明します。したがって、解決策は次のとおりです。資格ファイルをそのままにして、機能で「プッシュ通知」スイッチをオンのままにし、Xcodeが要求する修正を行います。これがお役に立てば幸いです。

17
yuchen

私にとって、XCode 8の「署名の自動管理」機能は、展開方法として選択したプロビジョニングプロファイルに従ってアーカイブするときに、自動的かつ正しく実行されます。

6
Mayank Kumar

で「プッシュ通知」機能を再度有効にしてみてください。これが役に立たない場合は、プロジェクトの資格のあるファイルを削除して、プロジェクト設定で「プッシュ通知」機能を再度有効にしてください。

4
Mr.Fingers

スタックオーバーフローですべての回答を試した後、問題はentitlement.plistファイルcan be debuggedフラグはTRUEに設定されました。

  1. disableおよびre-enable Xcodeターゲット機能で通知をプッシュします。
  2. Can be debuggedフラグをNOに設定して、AppStoreに送信する必要があります。

ビルドとアーカイブ。本番環境に設定された環境を確認できるはずです。

0
Pebby