Voip推送通知在使用iOS 10.3的iPhone 7上崩溃
我正在研究voip通知的实现。 我的版本在配备iOS 11.3的iPhone 6设备上运行良好。 但它在iOS 10.3.3版本的iPhone 7上崩溃,错误如下: pushregistry:didreceiveincomingpushwithpayload:fortype::发送到实例的选择器无法识别Voip推送通知在使用iOS 10.3的iPhone 7上崩溃,ios,iphone,swift,voip,Ios,Iphone,Swift,Voip,我正在研究voip通知的实现。 我的版本在配备iOS 11.3的iPhone 6设备上运行良好。 但它在iOS 10.3.3版本的iPhone 7上崩溃,错误如下: pushregistry:didreceiveincomingpushwithpayload:fortype::发送到实例的选择器无法识别 如果有任何主体面临此类问题,请帮助我。您已经使用下面的完成处理程序实现了委托方法 - (void)pushRegistry:(PKPushRegistry *)registry didRecei
如果有任何主体面临此类问题,请帮助我。您已经使用下面的完成处理程序实现了委托方法
- (void)pushRegistry:(PKPushRegistry *)registry didReceiveIncomingPushWithPayload:(PKPushPayload *)payload
forType:(PKPushType)type withCompletionHandler:(void (^)(void))completion;
- (void)pushRegistry:(PKPushRegistry *)registry didReceiveIncomingPushWithPayload:(PKPushPayload *)payload
forType:(PKPushType)type;
请在没有完成处理程序的情况下实现相同的委托方法,如下所示
- (void)pushRegistry:(PKPushRegistry *)registry didReceiveIncomingPushWithPayload:(PKPushPayload *)payload
forType:(PKPushType)type withCompletionHandler:(void (^)(void))completion;
- (void)pushRegistry:(PKPushRegistry *)registry didReceiveIncomingPushWithPayload:(PKPushPayload *)payload
forType:(PKPushType)type;
如果需要更多帮助,请务必告诉我。iOS11不推荐使用委托方法。 因此,请根据您的操作系统版本完成以下任务
@available(iOS, introduced: 8.0, deprecated: 11.0)
public func pushRegistry(_ registry: PKPushRegistry, didReceiveIncomingPushWith payload: PKPushPayload, forType type: PKPushType) {
//do the necessary operations
}
@available(iOS 11.0, *)
public func pushRegistry(_ registry: PKPushRegistry, didReceiveIncomingPushWith payload: PKPushPayload, for type: PKPushType, completion: @escaping () -> Swift.Void) {
//do the necessary operations
}
请为“didreceiveincomingpushwithpayload”功能以及您收到的带有通知的有效负载数据添加代码。根据这一点,您正在尝试获取一些不存在的键。我认为您必须实现pushRegistry:didReceiveIncomingPushWithPayload:forType:withCompletionHandler:以及下面的ios 11Hi。现在我正在使用func pushRegistry(uRegistry:PKPushRegistry,didReceiveIncomingPushWith payload:PKPushPayload,for type:PKPushType,completion:@escaping()->Void){}您的意思是说我还需要实现以下委托:@nonobjc func pushRegistry(registry:PKPushRegistry!,didReceiveIncomingPushWith payload:PKPushPayload!,forType:String!){}是的,添加没有完成处理程序的完全相同的委托。就像这样,pushRegistry(uRegistry:PKPushRegistry,didReceiveIncomingPushWith payload:PKPushPayload,for type:PKPushType()->Void){}