Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.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
Iphone dyld:未找到符号:如何解决此问题时出错_Iphone_Objective C_Xcode_Linker Errors - Fatal编程技术网

Iphone dyld:未找到符号:如何解决此问题时出错

Iphone dyld:未找到符号:如何解决此问题时出错,iphone,objective-c,xcode,linker-errors,Iphone,Objective C,Xcode,Linker Errors,我有以下代码(如下所示),其中我使用NSURLConnection连接和解析响应字符串。但我得到了以下错误: dyld: Symbol not found: _CFXMLNodeGetInfoPtr Referenced from: /System/Library/Frameworks/Security.framework/Versions/A/Security Expected in: /Developer/Platforms/iPhoneSimulator.platform/Deve

我有以下代码(如下所示),其中我使用
NSURLConnection
连接和解析响应字符串。但我得到了以下错误:

dyld: Symbol not found: _CFXMLNodeGetInfoPtr
  Referenced from: /System/Library/Frameworks/Security.framework/Versions/A/Security
  Expected in: /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation
 in /System/Library/Frameworks/Security.framework/Versions/A/Security
我已经在这方面工作了很长时间,但没有能够修复此错误

我已经导入了json.h和ASIHTTPRequest.h,所有这些文件,但是,它还没有修复错误

@implementation Websample1ViewController
- (void)viewDidLoad
{
    [super viewDidLoad];
    dataWebService = [[NSMutableData data] retain];
    NSMutableURLRequest *request = [[NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://www.googleapis.com/customsearch/v1?key=AIzaSyDzl0Ozijg2C47iYfKgBWWkAbZE_wCJ-2U&cx=017576662512468239146:omuauf_lfve&q=lectures&callback=handleResponse"]]retain];    

    NSURLConnection *myConnection = [NSURLConnection connectionWithRequest:request delegate:self];
    [myConnection start];
}

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response 
{
    [dataWebService setLength:0];
}

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
    [dataWebService appendData:data];
}

- (void)connectionDidFinishLoading:(NSURLConnection *)connection 
{
    NSString *responseString = [[NSString alloc] initWithData:dataWebService encoding:NSUTF8StringEncoding];
    NSLog(@"Response: %@",responseString);
    [responseString release];
    [dataWebService release];
}

- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
{
    NSLog(@"Error during connection: %@", [error description]);
}

//class 2
@implementation WebJson
//parse JSON
- (void)requestCompleted:(ASIHTTPRequest *)request
{
    NSString *responseString = [request responseString];   
    NSDictionary *dictionary = [responseString JSONValue];
    NSDictionary *dictionaryReturn = (NSDictionary*) [dictionary objectForKey:@"request"];    
    NSString *total = (NSString*) [dictionaryReturn objectForKey:@"totalResults"];
    NSLog(@"totalResults: %@", total); 

    NSString *search = (NSString*) [dictionaryReturn objectForKey:@"searchTerms"];
    NSLog(@"searchTerms: %@", search);       

    int count = [[dictionaryReturn objectForKey:@"count"] intValue];
    NSLog(@"count: %d", count);
}
错误是由缺少或错误的库链接引起的,而不是由代码引起的

仔细检查您的框架链接,请毫不犹豫地删除/重新创建链接,并注意您使用框架的iOS版本。(通常使用Xcode提供的列表,不浏览文件)

在您的情况下,链接
/System/Library/Frameworks/Security.framework
是一个错误,我不会感到惊讶,因为它看起来不属于iOS SDK,查看它的路径


我想应该是这样的:
/Developer/Platforms/iPhoneSimulator.platform/Developer/sdk/iPhoneSimulator.sdk/System/Library/Frameworks/Security.framework
。我也打了这个。事实证明,在将框架添加到项目中时,我无意中选中了将框架复制到本地目录的复选框

从项目中删除框架


然后添加框架,确保不复制文件。

当我将加载框架时可执行文件使用的后缀从“否”后缀更改为“调试”后缀时,我遇到了相同的错误。我认为苹果的调试框架没有跟上时代

如果出于其他原因使用“debug”,则可能会遇到这种情况,然后添加一个调试版本不是最新的框架


与XCode 3一样,后缀设置在可执行文件的“获取信息”窗口的“常规”窗格中可用。

在引用未在当前目标操作系统中编译的库、变量或方法时,也会发生这种情况


因此,请检查该符号,看看它是否可用。例如,
CFRelease(CFTypeRef-cf)
在所有iOS框架中都可用,但是
CFAutorelease(CFTypeRef-arg)
仅在iOS 7.0(和Mac OSX 10.9)及以上版本中可用,由
cf\u available(10\u 9,7\u 0)
指定。我也遇到过这个问题,而且它似乎是iOS 8 SDK中CFNetwork中的一个已知bug(请看这里:)

解决办法如下:

在目标的“链接二进制库”中更改链接顺序,并在CFNET.Frask.Fr.P/P>之前建立基础框架。


这为我解决了问题。

将部署目标更改为iOS 8.1。

重复?在我看来,你可能想留下这个作为评论。如果你能多提一点,那就太好了。