首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >后台MCSession多对等体

后台MCSession多对等体
EN

Stack Overflow用户
提问于 2013-10-31 06:36:36
回答 2查看 927关注 0票数 0

我使用这种方法通过ios7中的多对等体发送了一个文件:

代码语言:javascript
复制
_progressSend = [session sendResourceAtURL:imageUrl withName: info toPeer:peerID withCompletionHandler:^(NSError *error) {
    // Implement this block to know when the sending resource transfer completes and if there is an error.
    if (error) {
        NSLog(@"Send resource to peer [%@] completed with Error [%@]", peerID.displayName, error);
    }
    else {
        // Create an image transcript for this received image resource

    }
}];

这个问题非常奇怪。这就是发生的事情:

设备开始发送资源,进度条开始填满。例如,当我将应用程序放在后台,并查看我的电子邮件时,传输仍在进行中(我可以从另一台设备的进度栏中看到)。如果传输已经完成,我回到应用程序中,一切都很好,但如果我在资源仍在传输的情况下进入应用程序(例如,我退出了1/3的路径并以2/3的速度打开它),应用程序完全冻结,需要从多任务栏关闭。但是Xcode没有显示崩溃。这是如果应用程序继续运行,但用户界面完全冻结。有谁有主意吗?

EN

回答 2

Stack Overflow用户

发布于 2013-11-04 19:38:39

您是否尝试过将发送数据的代码包装在dispatch_async块中?这可能会有帮助。另外,如何获取imageurl?也许它在离开然后重新进入你的应用程序时无法读取

票数 1
EN

Stack Overflow用户

发布于 2014-01-21 03:44:03

我也以一种不同的方式解决了这个问题。在更新进度条的那部分代码中,你需要把代码放在下面的代码块中,让它调用主标题:

代码语言:javascript
复制
dispatch_async(dispatch_get_main_queue(), ^{  
//insert progress bar code here
});

我不知道为什么会发生这种情况,但这似乎为我解决了这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19695125

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档