首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用MCSession在iOS模拟器与设备之间发送文件

用MCSession在iOS模拟器与设备之间发送文件
EN

Stack Overflow用户
提问于 2014-07-15 11:56:11
回答 1查看 690关注 0票数 1

我有一个用于iPad的应用程序,它需要将文件从一个设备发送到另一个设备,并使用对等苹果的多点连接库。该文件是一个压缩文件(我使用ZipArchive表示iOS:https://github.com/mattconnolly/ZipArchive),我正在用iOS模拟器和一个iPad设备测试它。当我将文件从iPad发送到模拟器时,它总是工作得很好,但是当我尝试将它从模拟器发送到设备时,它失败了90%。zip文件可以通过,但是从末尾丢失了几千字节,所以不能解压缩。我使用的是MCSession类,它是用于传输的sendResourceAtURL函数:

代码语言:javascript
复制
// self.session is an MCSession object
[self.session sendResourceAtURL:archiveUrl withName:resourceName toPeer:clientPeer withCompletionHandler:
 ^(NSError *error){
     if (error) {
         NSLog(@"File sending error: %@", error.localizedDescription);
     }
 }];
  • 我提取didFinishReceivingResourceWithName委托方法中的文件(它运行在后台线程上)。
  • 所有的NSError变量都是零(在发送和接收时),没有任何问题。
  • 文件的大小并不重要,当它是20 Kb时,当它超过一个Kb时,它的行为方式是一样的。
  • 两个对等点在传输期间(或之后)从不断开连接。

我将发送和接收的文件的文件大小记录了3次:

代码语言:javascript
复制
2014-07-15 12:14:20.470 PeerTest[1139:481f] Sending  file with size of 1182911
2014-07-15 12:14:22.090 PeerTest[1481:1803] Received file with size of 1171552 // failed to extract files

2014-07-15 12:16:25.470 PeerTest[1139:481f] Sending  file with size of 1182911
2014-07-15 12:16:27.882 PeerTest[1481:5127] Received file with size of 1181472 // failed to extract files

2014-07-15 12:17:20.470 PeerTest[1139:481f] Sending  file with size of 1182911
2014-07-15 12:17:22.980 PeerTest[1481:650f] Received file with size of 1182911 // successfully extracted files

我现在只有一个iPad,我想弄清楚为什么它只在一个方向工作。有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-17 12:36:01

我通过从iOS 7.0升级到7.1 (也升级了XCode )来解决这个问题。现在,该文件在两个iPad设备之间,以及模拟器和一个iPad设备之间工作得很好。

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

https://stackoverflow.com/questions/24757620

复制
相关文章

相似问题

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