作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
将我的应用程序升级到 Xcode8/Swift 3 后,我不再收到来自 PKPushRegistryDelegate
的回调。
我已经验证了 Apple´s Voice Over IP (VoIP) Best Practices 中的所有步骤.
我的设备记录了以下可能相关的信息:
callservicesd[92] : [WARN] Ignoring voipRegister request because either no bundleIdentifier could be determined (0) or no environment could be determined (1)
我的 AppDelegate:
var voipRegistry: PKPushRegistry!
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey : Any]? = nil) -> Bool {
voipRegistry = PKPushRegistry(queue: DispatchQueue.main)
voipRegistry.delegate = self
voipRegistry.desiredPushTypes = Set([.voIP])
}
extension AppDelegate: PKPushRegistryDelegate {
func pushRegistry(_ registry: PKPushRegistry, didInvalidatePushTokenForType type: PKPushType) {
print("didInvalidatePushTokenForType")
}
func pushRegistry(_ registry: PKPushRegistry, didReceiveIncomingPushWith payload: PKPushPayload, forType type: PKPushType) {
print("Incoming voip notfication: \(payload.dictionaryPayload)")
}
func pushRegistry(_ registry: PKPushRegistry, didUpdate credentials: PKPushCredentials, forType type: PKPushType) {
print("voip token: \(credentials.token)")
}
}
最佳答案
关于ios - PushKit PKPushRegistryDelegate 没有得到回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40829550/
当我尝试未调用 PKPushRegistryDelegate 时,我得到了很多结果,但没有解决我的问题。所有人都建议检查 info.plist 的背景模式,这在我的应用程序中很好。我启用了 voip、
将我的应用程序升级到 Xcode8/Swift 3 后,我不再收到来自 PKPushRegistryDelegate 的回调。 我已经验证了 Apple´s Voice Over IP (VoIP)
我是一名优秀的程序员,十分优秀!