【发布时间】:2016-02-15 16:29:43
【问题描述】:
我遇到了一个奇怪的错误:
致命异常:NSInvalidArgumentException *** -[_NSXPCDistantObject methodSignatureForSelector:]:连接连接上没有设置协议 到名为 com.apple.nsurlsessiond 的服务”
这个问题似乎只发生在 iOS 9 上。根据堆栈跟踪,该错误是由对 -[UIApplication _sendWillEnterForegroundCallbacks] 的调用触发的。
Thread : Fatal Exception: NSInvalidArgumentException
0 CoreFoundation 6485512008 __exceptionPreprocess
1 libobjc.A.dylib 6833323904 objc_exception_throw
2 CoreFoundation 6485511824 -[NSException initWithCoder:]
3 Foundation 6500536092 -[_NSXPCDistantObject methodSignatureForSelector:]
4 CoreFoundation 6485526892 ___forwarding___
5 CoreFoundation 6484495532 _CF_forwarding_prep_0
6 CoreFoundation 6485141004 __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__
7 CoreFoundation 6485138988 _CFXRegistrationPost
8 CoreFoundation 6485138348 ___CFXNotificationPost_block_invoke
9 CoreFoundation 6485554212 -[_CFXNotificationRegistrar find:object:observer:enumerator:]
10 CoreFoundation 6484354836 _CFXNotificationPost
11 Foundation 6500543948 -[NSNotificationCenter postNotificationName:object:userInfo:]
12 UIKit 6577878356 -[UIApplication _sendWillEnterForegroundCallbacks]
continues ...
所以看起来当应用程序进入前台时,一些注册的观察者尝试通过 RPC 重新连接 nsurlsessiond 并失败?我使用NSURLSession 进行了后台传输会话,但我无法重现它,所以我不确定它是否相关。
以前有人见过这个问题吗?我能做些什么来解决它吗?
【问题讨论】:
-
iOS 9 上有很多关于通知中心和 NSInvalidArgumentException 的崩溃报告。看起来崩溃发生在应用程序处于后台并且操作系统在某些数据仍在处理时破坏应用程序时。不确定这是否与您面临的错误相同。
标签: ios ios9 nsurlsession