2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

VoIP Push がバックグラウンド時に届かない

Last updated at Posted at 2020-01-25

iOS13 & xcode11 では、VoIP Push (PushKit) を受けた際 CallKit に reportNewIncomingCall を使って通知をしなければならなくなりました。
 参考:VoIP Push (PushKit) は着信通知専用になりました・・・
 
その対策の中、アプリがバックグラウンドまたは未起動時に VoIP Push が届かないという現象が発生しました。(フォアグラウンドにある時は届く)

原因

分かりません!

xcode11 でビルドし VoIP Pushを受けた際に、すぐにreportNewIncomingCall を呼び出す対策を行う前に、何度かPushを受けてました。
もちろん、reportNewIncomingCall を呼び出さないとアプリは停止させられてしまいます。
それを何度か繰り返すことで、システムの中で「悪い子」認定されてしまったと思われます。
 
「悪い子」認定されてしまうと、Apple のドキュメントによれば VoIP Push 自体届かなくなるはずなのですが、なぜかフォアグラウンドでは届いてしまう点が不思議です。。。

対策

  1. アプリを一旦削除します。
  2. iPhoneの電源を落とします。
  3. 一定時間後、iPhoneの電源を入れます。
  4. ビルドして、アプリをインストールします。

以上!!

アプリの削除→再インストールだけではダメでした。
 
電源を落とすか再起動が良いのだと思われます。
「一定時間後」が効いているかどうかは不明です。
私は3時間くらい電源を入れるのを忘れてました(他のことをしていたので・・・)

同様の現象で困っている方がおられましたらお試しください。

類似問題

VoIP Push のトークンが取得できない(iOS13/xcode11)

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?