HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – XTubeManager在后台崩溃?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我在XTubeManager中遇到大量崩溃(似乎是CFNetwork内部).不幸的是,控制台日志不可用,只有调用堆栈(见下文).

问题:

>我可以想象我的应用程序在后台崩溃,因此没有
控制台日志是写的,你认为这是可能的吗?
>我是否必须以不同方式处理BACkgroundTask到期,例如通过
取消所有我的NSURLrequests? (见下面的代码)

背景

我经常在后台(或通过后台推送)醒来并运行这样的后台任务:

NSString *myTaskName = @"some.random.task.name";
__block UIBACkgroundTaskIdentifier taskID = [UIApplication.sharedApplication beginBACkgroundTaskWithName:myTaskName expirationHandler:^{
    [UIApplication.sharedApplication endBACkgroundTask:taskID];
    taskID = UIBACkgroundTaskInvalid;
}];
dispatch_queue_t q = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0);
dispatch_async(q,// doing some NSURLrequests stuff here
    [UIApplication.sharedApplication endBACkgroundTask:taskID];
    taskID = UIBACkgroundTaskInvalid;
});

这通常在applicationDidEnterBACkground中调用

调用堆栈

Thread : Crashed: com.apple.NSURLConnectionLoader
0  libobjc.A.dylib                0x183599b90 objc_msgSend + 16
1  CFNetwork                      0x184513300 XTubeManager::withTubeManager(CoreschedulingSet const*,void (GlueTubeManager*) block_pointer) + 96
2  CFNetwork                      0x18451149c -[__NSURLSessionLocal _withConnectionCache_enqueuerequest:forProtocol:scheduling:options:] + 128
3  CFNetwork                      0x1845c3798 httpProtocol::asynchronouslyCreateAndopenStream_Withmessage_AfterCookiesAndAuthenticatorHeaders(__CFhttpmessage*) + 2000
4  CFNetwork                      0x1845c2ef8 httpProtocol::asynchronouslyAddAuthenticatorHeadersAndConTinue(__CFhttpmessage*) + 144
5  CFNetwork                      0x1845c4ba4 ___ZN12httpProtocol35asynchronouslyAddCookiesAndConTinueEP15__CFhttpmessage_block_invoke_2 + 28
6  libdispatch.dylib              0x18396d47c _dispatch_client_callout + 16

解决方法

NSURLConnection堆栈内的一些对象正在消失.有些事要检查:

>确保您没有两次启动连接. (如果你不使用… startImmediately:NO,那么请确保你从不打电话给start.)
>确保在连接完成之前未启动连接,然后释放最后一个引用.
>确保您没有使用同步NSURLConnection调用(曾经).

除此之外,我之前见过类似的崩溃,在很多情况下,没有明显的原因.除非您看到频繁发生崩溃,否则可能没有任何方法可以修复它,除了提交错误并希望Apple找到一种方法解决它.

大佬总结

以上是大佬教程为你收集整理的ios – XTubeManager在后台崩溃?全部内容,希望文章能够帮你解决ios – XTubeManager在后台崩溃?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。