2017-01-02 10 views
3

私はプッシュ通知を使用してアプリケーションを開発していますが、iOS10デバイスのみで問題が発生しました。iOS10:プッシュ通知を受け取った後にcurrentUserNotificationSettingsを取得できません

最初の起動時にcurrentUserNotificatoinSettings.typesを取得できます。

[UIApplication sharedApplication].currentUserNotificationSettings.types; 

しかし、私はpushNotification、currentUserNotificatoinSettings.typesを読んスレッドは、任意の例外なしに凍結してしまった後。 どういうわけか、@ try @ catch、XcodeのbreakpointNavigator、またはProfilerのゾンビを使用して例外を取得しようとしましたが、例外は表示されません。

この問題はどのようにデバッグする必要がありますか?誰がこの問題の原因を知っていますか?

+0

iOSがプッシュ通知でペイロードをデコードすると、例外が発生しますか? – orafaelreis

答えて

0

UIApplicationメソッドにはメインスレッドからのみアクセスする必要があります。 dispatch_async(dispatch_get_main_queue(), …の通知設定にアクセスするコードをラップします。

+0

あなたの答えをありがとう。私はメインスレッド上のcurrentUserNotificationSettingsにアクセスするので、私のアプリケーションはそれによってフリーズします。奇妙なことに、この問題はプッシュ通知を受け取った後に[[UIApplication sharedApplication] registerUserNotificationSettings:]メソッドでも発生します:( –

+0

スタックトレースには何が表示されますか?アプリが停止している場合、デバッガで一時停止してスクリーンショットを追加します –

+0

ここに私のものがあります:[link](https://prnt.sc/hkrl6i)。 通知を受け取った後、この行にアプリがフリーズしましたが、それは確かにメインスレッドです。何か考えているのですか? – demon9733

関連する問題