ios – XTubeManager在后台崩溃?

ios – XTubeManager在后台崩溃?,第1张

概述我在XTubeManager中遇到大量崩溃(似乎是CFNetwork内部).不幸的是,控制台日志不可用,只有调用堆栈(见下文). 问题: >我可以想象我的应用程序在后台崩溃,因此没有 控制台日志是写的,你认为这是可能的吗? >我是否必须以不同方式处理backgroundTask到期,例如通过 取消所有我的NSURLRequests? (见下面的代码) 背景 我经常在后台(或通过后台推送)醒来并运行 我在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.NSURLConnectionLoader0  libobjc.A.dylib                0x183599b90 objc_msgSend + 161  CFNetwork                      0x184513300 XTubeManager::withTubeManager(CoreSchedulingSet const*,voID (glueTubeManager*) block_pointer) + 962  CFNetwork                      0x18451149c -[__NSURLSessionLocal _withConnectionCache_enqueueRequest:forProtocol:scheduling:options:] + 1283  CFNetwork                      0x1845c3798 httpProtocol::asynchronouslyCreateAndOpenStream_WithMessage_AftercookiesAndAuthenticatorheaders(__CFhttpMessage*) + 20004  CFNetwork                      0x1845c2ef8 httpProtocol::asynchronouslyAddAuthenticatorheadersAndContinue(__CFhttpMessage*) + 1445  CFNetwork                      0x1845c4ba4 ___ZN12httpProtocol35asynchronouslyAddcookiesAndContinueEP15__CFhttpMessage_block_invoke_2 + 286  libdispatch.dylib              0x18396d47c _dispatch_clIEnt_callout + 16
解决方法 NSURLConnection堆栈内的一些对象正在消失.有些事要检查:

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

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

总结

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

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

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1103483.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存