簡體   English   中英

在iOS模擬器和設備之間使用MCSession發送文件

[英]Sending file with MCSession between iOS Simulator and Device

我有一個iPad應用程序,需要使用對等Apple的Multipeer Connectivity庫將文件從一台設備發送到另一台設備。 該文件是一個zip文件(我正在使用iOS的ZipArchive: https//github.com/mattconnolly/ZipArchive ),並且正在使用iOS模擬器和一個iPad設備對其進行測試。 當我將文件從iPad發送到模擬器時,它始終可以正常運行,但是當我嘗試將文件從模擬器發送到設備時,它有90%的時間失敗。 該zip文件可以通過,但末尾缺少幾千字節,因此無法解壓縮。 我正在使用MCSession類,它使用sendResourceAtURL函數進行傳輸:

// 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變量均為nil(發送和接收時),沒有任何跡象表明存在任何問題。
  • 文件的大小並不重要,當文件大小為20 Kb或超過1 MB時,文件的行為相同。
  • 傳輸期間(或之后),兩個對等方永遠不會斷開連接。

我記錄了發送和接收的文件的文件大小3次:

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,想弄清楚為什么它只能在一個方向上工作。 有任何想法嗎?

我設法從iOS 7.0升級到7.1(也升級了XCode)解決了這個問題。 現在,該文件可以在2個iPad設備之間,模擬器和1個iPad設備之間完美運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM