今天在引入一个第三方的拍照选择照片的库时,编译报错。

Undefined symbols for architecture x86_64:"_ALAssetPropertyAssetURL", referenced from:-[TZImageManager getAssetIdentifier:] in TZImageManager.o"_ALAssetPropertyDuration", referenced from:___90-[TZImageManager getAssetsFromFetchResult:allowPickingVideo:allowPickingImage:completion:]_block_invoke139 in TZImageManager.o___97-[TZImageManager getAssetFromFetchResult:atIndex:allowPickingVideo:allowPickingImage:completion:]_block_invoke in TZImageManager.o"_ALAssetPropertyType", referenced from:___90-[TZImageManager getAssetsFromFetchResult:allowPickingVideo:allowPickingImage:completion:]_block_invoke139 in TZImageManager.o___97-[TZImageManager getAssetFromFetchResult:atIndex:allowPickingVideo:allowPickingImage:completion:]_block_invoke in TZImageManager.o"_ALAssetPropertyURLs", referenced from:-[TZImageManager getVideoWithAsset:completion:] in TZImageManager.o-[TZImageManager isAssetsArray:containAsset:] in TZImageManager.o"_ALAssetTypeVideo", referenced from:___90-[TZImageManager getAssetsFromFetchResult:allowPickingVideo:allowPickingImage:completion:]_block_invoke139 in TZImageManager.o___97-[TZImageManager getAssetFromFetchResult:atIndex:allowPickingVideo:allowPickingImage:completion:]_block_invoke in TZImageManager.o"_ALAssetsGroupPropertyName", referenced from:___66-[TZImageManager getCameraRollAlbum:allowPickingImage:completion:]_block_invoke in TZImageManager.o___60-[TZImageManager getAllAlbums:allowPickingImage:completion:]_block_invoke in TZImageManager.o"_OBJC_CLASS_$_ALAsset", referenced from:objc-class-ref in TZImageManager.o"_OBJC_CLASS_$_ALAssetsFilter", referenced from:objc-class-ref in TZImageManager.o"_OBJC_CLASS_$_ALAssetsGroup", referenced from:objc-class-ref in TZImageManager.o"_OBJC_CLASS_$_ALAssetsLibrary", referenced from:objc-class-ref in TZImageManager.o"_OBJC_CLASS_$_PHAsset", referenced from:objc-class-ref in TZImageManager.o"_OBJC_CLASS_$_PHAssetCollection", referenced from:objc-class-ref in TZImageManager.o"_OBJC_CLASS_$_PHAssetCreationRequest", referenced from:objc-class-ref in TZImageManager.o"_OBJC_CLASS_$_PHAssetResourceCreationOptions", referenced from:objc-class-ref in TZImageManager.o"_OBJC_CLASS_$_PHCachingImageManager", referenced from:objc-class-ref in TZImageManager.o"_OBJC_CLASS_$_PHFetchOptions", referenced from:objc-class-ref in TZImageManager.o"_OBJC_CLASS_$_PHFetchResult", referenced from:objc-class-ref in TZImageManager.o"_OBJC_CLASS_$_PHImageManager", referenced from:objc-class-ref in TZAssetCell.oobjc-class-ref in TZImageManager.o"_OBJC_CLASS_$_PHImageRequestOptions", referenced from:objc-class-ref in TZImageManager.o"_OBJC_CLASS_$_PHPhotoLibrary", referenced from:objc-class-ref in TZImageManager.o"_OBJC_CLASS_$_PHVideoRequestOptions", referenced from:objc-class-ref in TZImageManager.o"_PHImageCancelledKey", referenced from:___58-[TZImageManager getPhotoWithAsset:photoWidth:completion:]_block_invoke in TZImageManager.o___55-[TZImageManager getOriginalPhotoWithAsset:completion:]_block_invoke in TZImageManager.o"_PHImageErrorKey", referenced from:___58-[TZImageManager getPhotoWithAsset:photoWidth:completion:]_block_invoke in TZImageManager.o___55-[TZImageManager getOriginalPhotoWithAsset:completion:]_block_invoke in TZImageManager.o"_PHImageManagerMaximumSize", referenced from:-[TZImageManager getOriginalPhotoWithAsset:completion:] in TZImageManager.o"_PHImageResultIsDegradedKey", referenced from:___58-[TZImageManager getPhotoWithAsset:photoWidth:completion:]_block_invoke in TZImageManager.o___58-[TZImageManager getPhotoWithAsset:photoWidth:completion:]_block_invoke_2 in TZImageManager.o"_PHImageResultIsInCloudKey", referenced from:___58-[TZImageManager getPhotoWithAsset:photoWidth:completion:]_block_invoke in TZImageManager.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

经过几个小时的查资料,和尝试,基本上确定了是由于部分依赖的框架没有导入(天知道为什么会没有导入,我在另一个项目里面直接拖进去就可以编译的,坑爹的xcode)。
于是我仔细看了下报错的内容,都是指向TZImageManager,于是我到对应的.m文件里面,发现它引用了系统的AssetsLibrary框架:

屏幕快照 2016-07-01 16.41.07.png

我尝试手动导入这个框架:

屏幕快照 2016-07-01 16.45.05.png

编译一下,原来报27个错,现在只有17个了,看来有效果。于是我继续找还缺少了什么框架。现在的报错如下:

Undefined symbols for architecture x86_64:"_OBJC_CLASS_$_PHAsset", referenced from:objc-class-ref in TZImageManager.o"_OBJC_CLASS_$_PHAssetCollection", referenced from:objc-class-ref in TZImageManager.o"_OBJC_CLASS_$_PHAssetCreationRequest", referenced from:objc-class-ref in TZImageManager.o"_OBJC_CLASS_$_PHAssetResourceCreationOptions", referenced from:objc-class-ref in TZImageManager.o"_OBJC_CLASS_$_PHCachingImageManager", referenced from:objc-class-ref in TZImageManager.o"_OBJC_CLASS_$_PHFetchOptions", referenced from:objc-class-ref in TZImageManager.o"_OBJC_CLASS_$_PHFetchResult", referenced from:objc-class-ref in TZImageManager.o"_OBJC_CLASS_$_PHImageManager", referenced from:objc-class-ref in TZAssetCell.oobjc-class-ref in TZImageManager.o"_OBJC_CLASS_$_PHImageRequestOptions", referenced from:objc-class-ref in TZImageManager.o"_OBJC_CLASS_$_PHPhotoLibrary", referenced from:objc-class-ref in TZImageManager.o"_OBJC_CLASS_$_PHVideoRequestOptions", referenced from:objc-class-ref in TZImageManager.o"_PHImageCancelledKey", referenced from:___58-[TZImageManager getPhotoWithAsset:photoWidth:completion:]_block_invoke in TZImageManager.o___55-[TZImageManager getOriginalPhotoWithAsset:completion:]_block_invoke in TZImageManager.o"_PHImageErrorKey", referenced from:___58-[TZImageManager getPhotoWithAsset:photoWidth:completion:]_block_invoke in TZImageManager.o___55-[TZImageManager getOriginalPhotoWithAsset:completion:]_block_invoke in TZImageManager.o"_PHImageManagerMaximumSize", referenced from:-[TZImageManager getOriginalPhotoWithAsset:completion:] in TZImageManager.o"_PHImageResultIsDegradedKey", referenced from:___58-[TZImageManager getPhotoWithAsset:photoWidth:completion:]_block_invoke in TZImageManager.o___58-[TZImageManager getPhotoWithAsset:photoWidth:completion:]_block_invoke_2 in TZImageManager.o"_PHImageResultIsInCloudKey", referenced from:___58-[TZImageManager getPhotoWithAsset:photoWidth:completion:]_block_invoke in TZImageManager.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

当时在看这个报错的时候,一头雾水,PHxxx的库根本找不到,于是在.m里面找,半天之后猜是不是Photos框架,导入了之后编译成功!
猜得很艰辛啊。
现在写这个文章的时候,突然发现对应的TZImageManager.h文件里果然导入了Photos框架……

屏幕快照 2016-07-01 16.53.18.png

猜得那么辛苦,原来.h里面就有答案,醉了。
解决这个问题花了一个下午的时间,写一篇文章做个备份,免得下次又被坑。

解决symbol(s) not found for architecture x86_64报错相关推荐

  1. ld framework not found FileProvider for architecture x86_64 报错

    Xcode8及以下报这个错误是因为iOS11新加入的FileProvider.framework框架未找到导致的,但是这个框架只有Xcode9才有,所以也可以算是Xcode的一个bug吧,解决的方法有 ...

  2. 经典错误:symbol(s) not found for architecture x86_64 || Undefined symbols for architecture x86_64:

    记录经典,防止踩坑!!!!! 真机可以运行,模拟器报错. 错误信息显示如下: Ld /Users/lyj/Library/Developer/Xcode/DerivedData/MYPayBucket ...

  3. 关于Undefined symbols for architecture x86_64这个错的总结

    最近在Mac上做一个程序,需要调用动态链接库,出现两次Undefined symbols for architecture x86_64的错误,所以总结下. 第一个是: Undefined symbo ...

  4. springboot导入项目依赖报错_如何解决spring boot 项目导入依赖后代码报错问题

    如何解决spring boot 项目导入依赖后代码报错问题 2020-08-15  14:17:18 代码截图如图所示(由于本人问题已经解决,没来得及截图,所以在网上找了一张图片) ​ 针对图中所示的 ...

  5. 解决使用requests_html模块,html.render()下载chromium报错、速度慢问题

    解决使用requests_html模块,html.render()下载chromium报错.速度慢问题 参考文章: (1)解决使用requests_html模块,html.render()下载chro ...

  6. 解决vs2015使用fopen、fprintf等函数报错的问题

    解决vs2015使用fopen.fprintf等函数报错的问题 参考文章: (1)解决vs2015使用fopen.fprintf等函数报错的问题 (2)https://www.cnblogs.com/ ...

  7. 解决使用mybatis分页插件PageHelper的一个报错问题

    解决使用mybatis分页插件PageHelper的一个报错问题 参考文章: (1)解决使用mybatis分页插件PageHelper的一个报错问题 (2)https://www.cnblogs.co ...

  8. 解决Windows下运行php Composer出现SSL报错的问题

    解决Windows下运行php Composer出现SSL报错的问题 2015-01-14 20:05 在windows下运行composer却出现SSL报错: E:\www>php -f co ...

  9. 解决“(1146, “Table ‘mydb.django_session‘ doesn‘t exist“)”报错的方法

    解决"(1146, "Table 'mydb.django_session' doesn't exist")"报错的方法 参考文章: (1)解决"(1 ...

最新文章

  1. mysql matlab for循环嵌套循环语句吗_C++: for_each 和 基于范围的for循环
  2. 科大星云诗社动态20201123
  3. Scala基于Akka模拟Spark Master Worker进程间通信(二):Worker定时向Master心跳
  4. Electric device abnormal detection based on IoT and knowledge graph-学习笔记
  5. 数据帧,数据包,报文段,报文,分组,数据包的概念和区别
  6. 《Two Dozen Short Lessons in Haskell》(二十)分数
  7. ArrayList和LinkedList 的区别
  8. document.body.scrollTop用法
  9. [note]标点符号和数学符号所对应的英文
  10. 一个草根站长的创业故事之选择
  11. rar linux下载64位下载地址,Linux中下载WinRAR并使用它解压rar文件
  12. Unity渲染性能优化总纲
  13. PlatformIO for CLion 创建工程时出现 gathering information问题解决方法
  14. 桃李春风一杯酒 江湖夜雨十年灯
  15. ACL国际计算机语言协会2019,干货 | 2019 AI 国际顶级学术会议一览表
  16. 星际争霸2 AI 开发探索与展望
  17. 软文营销保持好奇心才能吸引读者采取行动
  18. 小红书话题笔记是什么意思?话题笔记发布步骤流程分享
  19. 孤立森林异常检测算法原理和实战(附代码)
  20. 最多K次交换冒泡排序

热门文章

  1. “观察和思考”给我的启发
  2. 《JavaScript高级程序设计》学习笔记——错误处理与调试
  3. 宝哥软件测试面试三十六计出炉
  4. php iconv 报错,如何解决php iconv报错问题
  5. 微信小程序开发教程,大多数人都搞错的八个问题
  6. /deep/和 >>>以及 ::v-deep 三者的区别
  7. 推荐系统——召回策略中的融合
  8. PS去除图片水印有哪些方法?有什么相关教程
  9. 如何使用php调用打印机驱动程序,网络打印服务器怎么安装和使用?
  10. 什么是JAVA构建路径