Je l'ai mis en place à l'endroit où la musique peut être envoyé et revenir entre les appareils iOS, mais chaque fois que la musique est envoyé, le téléphone récepteur reçoit cette erreur:Transfert de musique dans iOS via Bluetooth
*** Terminating app due to uncaught exception 'MPMediaItemCollectionInitException', reason: 'items array must not be empty' *** First throw call stack:
C'est la méthode où j'obtiens l'erreur:
-(void)didReceiveDataWithNotification: (NSNotification *)notification{
MCPeerID *peerID = [[notification userInfo] objectForKey:@"peerID"];
NSString *peerDisplayName = peerID.displayName;
NSData *receivedData = [[notification userInfo] objectForKey:@"data"];
//NSLog([[notification userInfo] objectForKey:@"data"]);
NSDictionary *dict = (NSDictionary *)[NSKeyedUnarchiver unarchiveObjectWithData:receivedData];
NSString *datatype = [dict objectForKey:@"datatype"];
NSLog(@"hi");
if([datatype isEqualToString:@"musiclist"]){
count++;
MPMediaItemCollection *collectionFromPeer = [[MPMediaItemCollection alloc] initWithItems:[(MPMediaItemCollection*)[dict objectForKey:@"data"] items]];
[_listOfMusic addObjectsFromArray:[collectionFromPeer items]];
if(count == [[_appDelegate.mcManager.session connectedPeers] count] + 1){
for(int i=0;i<[_listOfMusic count];i++){
int r1 = arc4random() % [_listOfMusic count];
int r2 = arc4random() % [_listOfMusic count];
[_listOfMusic exchangeObjectAtIndex:r1 withObjectAtIndex:r2];
}
MPMediaItemCollection *coll = [[MPMediaItemCollection alloc]initWithItems:_listOfMusic];
[_musicPlayer setQueueWithItemCollection:coll];
NSLog(@"hi3");
[_musicPlayer play];
}
}
}
Qu'est-ce qui ne va pas ou qu'est-ce qui cause cette erreur?
Lequel des deux appels à 'initWithItems:' échoue? Quel débogage avez-vous fait pour vous assurer que 'dict' a les données que votre code suppose? – rmaddy
@rmaddy Il échoue et jette cette erreur lors de l'attribution dict – user2537376
De l'autre côté du code, lorsque j'envoie les données, je l'ai imprimer les données qu'il envoie juste avant qu'il envoie, et ce sont les données correctes avant qu'il est envoyé – user2537376