我一直在尝试使用 NSURLSession 的后台上传,但偶尔会遇到这个崩溃
Sep 25 10:01:48 ipad backboardd[29] <Warning>: MyApp[11829] has active assertions beyond permitted time:
{(
<BKProcessAssertion: 0x166b1770> identifier: com.apple.nsnetworkd.handlesession process: MyApp[11829] permittedBackgroundDuration: 30.000000 reason: backgroundDownload owner pid:8440 preventSuspend preventThrottleDownUI preventIdleSleep preventSuspendOnSleep
)}
调试代码,我发现当崩溃发生时,该application: handleEventsForBackgroundURLSession:completionHandler:
方法被调用,在那里我重新创建会话并存储完成处理程序,如Apple Documentation reccomends,但任务端的委托从未被调用,也不是URLSessionDidFinishEventsForBackgroundURLSession:
,这解释了崩溃,因为我在 NSURLSession 委托中处理完上传结束后调用了完成处理程序。
谁能告诉我为什么不叫代表?