내 응용 프로그램의 ios7에서 멀티 페어 연결을 사용하고 있습니다. 파일 전송 및 수신은 절대적으로 잘 작동하지만 사용자가 내 앱 (제어 센터 또는 설정)에서 액세스하여 블루투스 또는 Wi-Fi를 끄는 순간 파일 교환이 중단됩니다. 사용자가 두 가지를 모두 마녀로 돌려 놓으면 여전히 작동하지 않습니다. 사용자가 다시 작업하려면 사용자가 앱을 닫았다가 다시 열어야합니다.사용자가 블루투스를 껐다 켤 때 멀티 페 이더 연결이 작동하지 않습니다.
이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];
내가 문제가 시간 제한이라고 생각,하지만 난 아니다 확실한.
'- (void) applicationDidBecomeActive : (UIApplication *) application' 응용 프로그램 대리인 메서드에서 세션을 다시 초기화해야합니다. 이 메소드는 컨트롤 센터를 열고 닫은 후에 앱이 다시 활성화 될 때 호출됩니다. –
세션을 다시 초기화하면 MCSession 또는 MCNearbyServiceAdvertiser 및 MCNearbyServiceBrowser를 의미합니까? – Alessandro
가능하다면 Multipeer Connectivity Framework과 관련이있는 모든 것을 다시 시작하십시오. 연결된 모든 피어를 다시 연결해야합니다. –