2016-11-14 11 views
0

私はTestFlightで自分のアプリをテストするいくつかの友人を得ようとしています。これはプッシュ通知を除いてすべてうまくいっています。プッシュトークンを抽出できないようです。私は二重チェックして、彼らはプッシュトークンを取るためのアプリの許可を与えている。私の意見で

これはすべて正常に見える:プッシュ通知の問題iOS TestFlight

enter image description here

enter image description here

私はTestFlightにアプリをアップロードした後、Appleはしかし、次の電子メールを送信ん:

欠落プッシュ通知資格 - あなたのアプリにAppleのプッシュ通知サービス用のAPIが含まれていますが、アプリケーションの署名にAP環境の資格がありません。これを解決するには、プロビジョニングポータルでアプリIDにプッシュ通知が有効になっていることを確認します。次に、aps-environmentエンタイトルメントを含む配布プロビジョニング・プロファイルを使用してアプリに署名します。これにより正しい署名が作成され、アプリを再提出することができます。詳細については、「ローカルおよびプッシュ通知プログラミングガイド」の「プロビジョニングと開発」を参照してください。あなたのアプリがApple Push Notificationサービスを使用していない場合は、何もする必要はありません。この警告を停止するには、今後の送信からAPIを削除することができます。サードパーティのフレームワークを使用している場合は、APIを削除する方法については開発者に問い合わせる必要があります。


TestFlightから新しいコピーをダウンロードするときに、自分のデバイスのプッシュトークンを抽出することができます。
私は何が起こっているのか分かりませんし、本当にこれを修正したいと思います。誰か助けてくれますか?
役立つ場合があります。これは私のコードです:

func application(application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: NSData) { 

    let tokenChars = UnsafePointer<CChar>(deviceToken.bytes) 
    var tokenString = "" 

    for i in 0..<deviceToken.length { 
     tokenString += String(format: "%02.2hhx", arguments: [tokenChars[i]]) 
    } 

    Constant.pushToken = tokenString 

    if (KeychainWrapper.hasValueForKey("user_id")){ 
     let user = User() 
     user.id = Int(KeychainWrapper.stringForKey("user_id")!)! 
     ApiManager.sharedInstance.putPushToken(user){ (result, error) -> Void in 
      if error != nil { 
       //error 
      } else { 
       //success 
      } 
     } 
    } 
} 
+0

サーバーサイドからリンクサンドボックスをリンゴに変更します。 –

+0

これをチェックアウトする:http://stackoverflow.com/questions/24044298/why-push-notifications-is-not-working-on-testflight?answertab=active#tab-top –

答えて

1

これには資格ファイルを追加する必要があります。あなたのケースでは、プッシュ通知を有効にしたときに何らかの形であなたのプロジェクトに添付されていないものがあります機能。プッシュ通知オプションをオフにしてオンにしてください。プロジェクト内でエンタイトルメント・ファイルが自動的に追加されることがあります。

enter image description here

更新:サーバーは、サンドボックス URLまたはdisributionのURLを使用していますか?

0

TestFlightベータテストの配布プロファイルでアーカイブしていることを確認してください。

0
  • プッシュ通知に使用しているサービスを確認してください。

  • バッジ|サウンド|アラートの通知サービスに登録しているかどうかを確認してください。

  • receivedRemoteNotificationにデバッガを追加し、通知を受け取ることができるかどうかを確認します。