Xcode Twilio iOS无法识别的选择器已发送到类
我刚开始使用Twilio,希望有人能帮我调试我的应用程序 我正在打电话获取一个功能令牌,它返回得很好。我在控制台中打印它以进行检查,然后当我使用CapabilityToken调用init时,它就会出现,这就是发生故障的地方,我无法找出原因 这是我的密码Xcode Twilio iOS无法识别的选择器已发送到类,xcode,ios8,twilio,voip,Xcode,Ios8,Twilio,Voip,我刚开始使用Twilio,希望有人能帮我调试我的应用程序 我正在打电话获取一个功能令牌,它返回得很好。我在控制台中打印它以进行检查,然后当我使用CapabilityToken调用init时,它就会出现,这就是发生故障的地方,我无法找出原因 这是我的密码 [NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler: ^(NSURLResponse *response, NSData *data, N
[NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:
^(NSURLResponse *response, NSData *data, NSError *error){
// Log Any Reply
if ([data length] >0 && error == nil) {
NSData *jsonData = data;
// Deserialize JSON into Dictionary
error = nil;
id jsonObject = [NSJSONSerialization JSONObjectWithData:jsonData
options:NSJSONReadingAllowFragments
error:&error ];
if (jsonObject != nil && error == nil) {
NSLog(@"Successfully deserialized JSON response...");
if ([jsonObject isKindOfClass:[NSDictionary class]]) {
NSDictionary *deserializedDictionary = (NSDictionary *)jsonObject;
NSLog(@"Deserialized JSON Dictionary = %@", deserializedDictionary);
NSString *token = [deserializedDictionary objectForKey:@"token"];
if (token == nil) {
NSLog(@"Error retrieving token");
} else {
NSLog(@"Token: %@", token);
// Setup TCDevice
_phone = [[TCDevice alloc] initWithCapabilityToken:token delegate:self];
}
}
} else if (error != nil){
NSLog(@"An error happened while de-serializing the JSON data.");
}
}else if ([data length] == 0 && error == nil){
NSLog(@"Nothing was downloaded.");
}else if (error != nil){
NSLog(@"Error happened = %@", error);
}
}];
这是我的令牌登录后立即得到的
2015-01-29 16:32:14.637 AppName[4649:701822] +[NSString stringWithPJStr:]: unrecognized selector sent to class 0x3377da98
2015-01-29 16:32:14.639 AppName[4649:701822] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[NSString stringWithPJStr:]: unrecognized selector sent to class 0x3377da98'
*** First throw call stack:
(0x254da49f 0x32c90c8b 0x254df7d5 0x254dd7d7 0x2540f058 0x10ee7d 0x10e32b 0x10e2b7 0x105959 0x10568d 0x7b3ab 0x24fa228d 0x261d52b1 0x2614034d 0x26132b07 0x261d7c1b 0x487e29 0x4822c9 0x489567 0x48a891 0x33351e31 0x33351b84)
libc++abi.dylib: terminating with uncaught exception of type NSException
感谢您在某处调用了一个不存在的stringWithPJStr函数(选择器)。在阅读了所有Twilios文档后,我发现我遗漏了一件事。我必须将-ObjC添加到其他链接器标志中,这解决了我的问题。将以下行添加到其他链接器标志中:
-ObjC
-lTwilioClient
-lcrypto
-lssl
它只对我起作用,加了一个上限C加上结尾(-ObjC)我也有同样的问题,你能解释一下怎么解决吗?@Pacemaker抱歉,我刚才看到了这个评论。转到项目中的生成设置,搜索其他链接器标志,并在字段中放置-Objc。它应该可以解决这个问题。我试图添加它,但不得不按照@crhigu的建议添加为-ObjC,最后加上大写字母C,然后崩溃消失了。。。但是现在我有一个Twilio服务错误!!!哦,好吧。。。谢谢你帮我克服了这个障碍!我没有加上最后三个。。。这会导致任何已知的其他问题吗?我刚刚注意到“HelloMonkey”示例项目包括所有四个,因此我将在我的项目中跟进。谢谢你提醒我!