我在我的应用程序的 ios7 中使用多点连接。文件发送和接收工作绝对正常,但是当用户从我的应用程序中访问控制中心(甚至设置)并关闭蓝牙或 wifi 时,文件交换停止工作。当用户将他们两个都重新打开时,它仍然不起作用。为了让它们再次工作,用户必须关闭并重新打开应用程序。
文件以这种方式发送:
MCSession *session = [[MCSession alloc]
initWithPeer:key];
NSCalendar *gregorian = [[NSCalendar alloc]
initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *dateComponents = [[NSDateComponents alloc] init];
dateComponents.year = 2100;
dateComponents.month = 1;
dateComponents.day = 1;
dateComponents.hour = 0;
dateComponents.minute = 0;
dateComponents.second = 0;
NSDate *referenceDate = [gregorian dateFromComponents: dateComponents];
NSDate *now = [NSDate date];
NSTimeInterval interval = [now timeIntervalSinceDate:referenceDate];
NSData *Recording = [NSData dataWithContentsOfFile:myFilePath];
NSString* str = [NSString stringWithFormat:@"%@.ext", button.titleLabel.text];
NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
[dict setObject:str forKey:@"fileName"];
[dict setObject:@"Recording" forKey:@"fileType"];
[dict setObject:Recording forKey:@"FileData"];
NSData *myData = [NSKeyedArchiver archivedDataWithRootObject:dict];
[browser invitePeer:key
toSession:session
withContext:myData
timeout:interval];
用户可以随时使用以下命令重新加载设备:
[browser startBrowsingForPeers];
我认为问题在于超时,但我不确定。