3

Appleの開発者の皆さん、iOSのプロビジョニングプロファイル、証明書、アプリIDがプッシュ通知でどのように機能するかを理解しようとしています。私はこれを機能させるのに近づいていると思いましたが、そうではないかもしれません。

アプリを実行してプッシュ通知を登録しようとすると、コンソールに次のエラーが表示されます。

2012-06-26 17:52:29.380 Grouped[1732:707] badgeNumber: 0
2012-06-26 17:52:30.089 Grouped[1732:707] [INFO] device is ready
2012-06-26 17:52:32.654 Grouped[1732:707] JSLOG: Registering with APNS via the App Delegate
2012-06-26 17:52:32.655 Grouped[1732:707] Register success callback set
2012-06-26 17:52:32.661 Grouped[1732:707] didFailToRegisterForRemoteNotificationsWithError:Error 
Domain=NSCocoaErrorDomain Code=3000 "no valid 'aps-environment' entitlement string found for 
application" UserInfo=0x18a0c0 {NSLocalizedDescription=no valid 'aps-environment' 
entitlement string found for application}

私は今、数時間の調査を行ってきましたが、何が間違っているのか理解できません。アプリIDにリンクされた新しいプロビジョニングプロファイルを作成しました。私はそれを私の電話で見ることができます。

何か案は?

ボーナスの質問:プッシュ通知用にiOSアプリを適切にプロビジョニングするのは、いったいなぜそれほど複雑なのですか?

4

3 に答える 3

7

確認すべき点がいくつかあります。

  • デバイスにこのアプリの他のプロビジョニングプロファイルがありますか?それらを削除します。
  • アプリIDでプロビジョニングポータルでプッシュが有効になっていますか?
  • 正しいプロファイルで署名していますか?ワイルドカード以外の開発証明書である必要があります。
  • 独自のentitlements.plistファイルを指定していますか?最新のXcodeは1つを生成するため、これを行う必要はありません。「コード署名資格」ビルド設定が空であることを確認してください。

あなたがまだそれを見つけていないのなら、Appleはこれについての良いFAQを持っています:

http://developer.apple.com/library/ios/#technotes/tn2265/_index.html

于 2012-06-27T01:20:54.380 に答える
1
"no valid 'aps-environment' entitlement string found for 
application"

プロビジョニングプロファイルでプッシュ通知が有効になっていません。プロビジョニングポータルでそれらを有効にし、新しいプロファイルを生成していることを確認しますが、さらに重要なことは、実際にXcodeにインストールし、そのプロファイルでアプリに署名していることを確認します。その最後の部分は私を数回噛みました。

于 2012-06-27T01:24:01.573 に答える
1

アプリのプッシュ証明書を作成した後は、必ず新しいアドホック/アプリストアプロファイルを作成してください。アプリでプッシュメッセージを有効にすると、配布プロファイルが変更されます。

于 2012-06-29T14:42:41.780 に答える