2013-01-03 138 views
0

我正在嘗試使用我的iOS應用程序在QuickBlox中創建聊天室。在QuickBlox中創建聊天室

[[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]; 
} 

但使用此代碼後,我的應用程序崩潰,下面是崩潰日誌。

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 

enter image description here

回答

2

您可以選擇創建房間之前登錄到QuickBlox聊天。

解決的辦法是:

1),你必須-ObjC標誌添加到其它鏈接器標記

2)添加到SplashController.h聊天委託QBChatDelegate

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

3)添加到SplashController.m,

如果

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

頂部下一行:

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

4)最後,添加到末尾

#pragma mark- 
#pragma mark QBChatDelegate 

- (void)chatDidLogin{ 
    [[QBChat instance] createPrivateRoomWithName:@"ChatRRoom"]; 
} 

- (void)chatRoomDidCreate:(QBChatRoom *)room{ 
    NSLog(@"Room did create %@", room); 
    myRoom = [room retain]; 
} 
+0

我添加了'-ObjC和-lxml2'。在調試導航器中,我得到'libsystem_kernel.dylib'__pthread_kill:' P.S:我正在研究'ChattAR'應用程序。 –

+1

你有SIGABRT,這意味着出了問題。你可以使殭屍跟蹤並再次運行,並期待在日誌 –

+0

剛剛更新了我的雁 –

0

就在其它鏈接器標記添加-ObjC標誌在你的目標的設置。希望它能解決你的問題。