créer une salle de chat dans QuickBlox

J'essaie de créer une salle de chat dans QuickBlox en utilisant mon application iOS.

[[QBChat instance] createPrivateRoomWithName:@"My Room"]; - (void)createPrivateRoomWithName:(QBChatRoom*)room{ NSLog(@"Private room %@ was created", room.name); // Add users to this room NSNumber *anny = [NSNumber numberWithInt:300]; NSNumber *jim = [NSNumber numberWithInt:357]; NSArray *users = [NSArray arrayWithObjects:anny, jim, nil]; [[QBChat instance] addUsers:users toRoom:room]; } 

mais après avoir utilisé ce code mon application plante, ci-dessous est le journal des accidents.

 2013-01-03 19:13:55.234 Chat.Points[11178:23d03] +[QBDDXMLElement elementWithName:xmlns:]: unrecognized selector sent to class 0x22f73c 2013-01-03 19:13:55.241 Chat.Points[11178:23d03] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[QBDDXMLElement elementWithName:xmlns:]: unrecognized selector sent to class 0x22f73c' *** First throw call stack: (0x32fe012 0x29eae7e 0x33892ad 0x32edbbc 0x32ed94e 0x101e05 0x2da153f 0x2db3014 0x2da3418 0x2da32a6 0x2da4280 0x2da3fcb 0x990f7b24 0x990f96fe) libc++abi.dylib: terminate called throwing an exception 

entrez la description de l'image ici

Vous devez vous connecter à QuickBlox Chat avant de créer une salle.

La solution est:

1) vous devez append l' option -ObjC à Other Linker Flags

2) Ajouter à SplashController.h délégué de discussion QBChatDelegate

 @interface SplashController : UIViewController <QBActionStatusDelegate, FBServiceResultDelegate, FBSessionDelegate, QBChatDelegate>{ 

3) Ajouter à SplashController.m,

à si

 }else if([result isKindOfClass:[QBMRegisterSubscriptionTaskResult class]]){ 

en haut des lignes suivantes:

  // Login to QuickBlox Chat // [[QBChat instance] setDelegate:self]; [DataManager shared].currentQBUser.password = [NSSsortingng ssortingngWithFormat:@"%u", [[[DataManager shared].currentFBUser objectForKey:kId] hash]]; [[QBChat instance] loginWithUser:[DataManager shared].currentQBUser]; // // 

4) Enfin, append à la fin

 #pragma mark- #pragma mark QBChatDelegate - (void)chatDidLogin{ [[QBChat instance] createPrivateRoomWithName:@"ChatRRoom"]; } - (void)chatRoomDidCreate:(QBChatRoom *)room{ NSLog(@"Room did create %@", room); myRoom = [room retain]; } 

Ajoute juste l'option -ObjC dans les autres drapeaux de lieur dans les parameters de tes cibles. J'espère que cela va résoudre votre problème.