Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode Twilio iOS无法识别的选择器已发送到类_Xcode_Ios8_Twilio_Voip - Fatal编程技术网

Xcode Twilio iOS无法识别的选择器已发送到类

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

我刚开始使用Twilio,希望有人能帮我调试我的应用程序

我正在打电话获取一个功能令牌,它返回得很好。我在控制台中打印它以进行检查,然后当我使用CapabilityToken调用init时,它就会出现,这就是发生故障的地方,我无法找出原因

这是我的密码

[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”示例项目包括所有四个,因此我将在我的项目中跟进。谢谢你提醒我!