为什么通过其配置连接 NSURLSession 需要很长时间,以至于它会在启动时崩溃应用程序:“未能及时启动”?
我在许多 iOS 应用程序中看到过类似的故障转储,包括纽约时报 iOS 应用程序和 Evernote 应用程序。
[NSURLSession sessionWithConfiguration:configuration delegate:self delegateQueue:queue]
这是堆栈跟踪:
Thread 0:
0 libsystem_kernel.dylib 0x3afb7aa0 semaphore_wait_trap + 8
1 libdispatch.dylib 0x3af04d3d _dispatch_semaphore_wait_slow + 173
2 CFNetwork 0x2febd8e3 -[__NSCFBackgroundSessionBridge setupBackgroundSession] + 379
3 CFNetwork 0x2fef18a1 +[__NSCFSessionBridge bridgeForConfiguration:session:queue:] + 153
4 CFNetwork 0x2fef6497 -[__NSCFURLSession initWithConfiguration:delegate:delegateQueue:] + 395
5 CFNetwork 0x2fef6eb7 +[__NSCFURLSession sessionWithConfiguration:delegate:delegateQueue:] + 295
最佳答案
参见 Application Specific Information: Application failed to launch in time (iOS)? .
基本上有两件事要记住:
启动时,您只有几秒钟的时间来完成启动过程。应在应用启动后异步调用任何长时间运行的代码。
绝对确保在主线程上调用回调/ block /闭包等中的任何 UI 代码。你必须强制它这样做。
关于ios - 为什么连接回 iOS 后台 NSURLSession 等待锁定的时间太长,导致应用程序崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25679257/