Undefined symbols for architecture i386: "_kUTTypeImage", referenced from: -[ViewController receiveNotification:] in ViewController.old: symbol(s) not found for architecture i386clang: error: linker command failed with exit code 1 (use -v to see invocation)我在应用程序中添加了UIImagePickerController,当我进行编译时,出现上述错误。我找到了一个解决方案: Symbol not found: kUTTypeImage 查找符号(kUTTypeImage)并找到它应该存在的图像/库(在这种情况下为MobileCoreServices.framework)。然后将您的二进制文件与该框架链接。问题是,我不确定如何实现它。如何查找符号,然后将其链接到框架?应该指出的是,我已经导入了MobileCoreServices框架。以下是相关代码:if ([UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypeCamera]) { UIImagePickerController* myCamera = [[UIImagePickerController alloc] init]; myCamera.delegate = self; myCamera.sourceType = UIImagePickerControllerSourceTypeCamera; myCamera.mediaTypes = [NSArray arrayWithObjects:(NSString *) kUTTypeImage, nil]; myCamera.allowsEditing = NO; [self presentModalViewController:myCamera animated:YES]; } 最佳答案 您只需要添加框架,然后将其导入您的项目(或目标)即可。在导航器中,单击您的项目,然后选择一个目标。然后转到“构建阶段”选项卡,如果尚未展开,请展开“使用库链接二进制文件”。然后添加MobileCoreServices.framework。在要使用kUTTypeImage的文件中,添加以下导入:#import <MobileCoreServices/MobileCoreServices.h>请注意,您使用尖括号(),而不像通常那样使用引号。
10-07 22:31