アプリで ios7 のマルチピア接続を使用しています。ファイルの送受信はまったく問題なく動作しますが、ユーザーがアプリ内からコントロール センター (または設定) にアクセスし、bluetooth または 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];
問題はタイムアウトだと思いますが、よくわかりません。