主要做的就是把我遇到报错还有一些解决方式进行了统计。
一.
报错:Declaration uses __weak, but ARC is disabled。
解决方式:project ->targets(找到出问题的工程)->build settings -> weak references in manual retain release 置成Yes;
二.
报错:ld: library not found for -lPods-pop
clang: error: linker command failed with exit code 1 (use -v to see invocation)
解决方式:这里的话情况分类会比较多。
1.点击 XCode 工程文件,在 Build Phases 中查看 “ Link binary With Libraries” 你会发现里面有文件的名字是红色的。右键点击红色条目,选择 “Reveal in Project Navigator”这样文件的路径就回去了。感觉这种情况是最快能解决的。
2.可能是路径填写有问题。选中project中你需要编译的target 然后在build settings里面有一个"Library Search Path"在这里将你对应缺少的library的地址写入。注意,你不要写本地地址这样比较坑人,$(PROJECT_DIR)/ht/ThirdParty类似这样来填写正确的地址。
3.还有一种情况就是pod 集成的库没有被找到。点击模拟器边上的工程按钮选择edit scheme 选到build 然后+把pod的静态库加进入clean一下在重新编译就可以通过了。
三.
报错:ld: warning: directory not found for option
解决方式:这种情况下一般是由于你library的路径有问题。:project ->targets(找到出问题的工程)->build settings-> Library Search Path 将错误的路径删除就可以了。
四.
报错:Undefined symbols for architecture XXX(我报的是x86_64)
解决方式:
1.这里的情况很有可能是你少加入了静态库或者.m文件还是到Build Phases仔细校对一下你缺少了什么,add进入重新编译就可以过了,他提示你缺少什么包你就add什么就可以了。
五.
报错:duplicate symbol XXX in:
解决方式:从字面意思理解是定义了2次吧。奇怪了我哪里定义了2次吗。
1.全局搜索下XXX这个被定义2次的属性。意外的发现了
const CGFloat kHeaderHeight = 240.f;这是之前常用的方式方便理解。但是在xcode8中这是不被允许的。 需要在const 前面加上static 就能解决掉这个问题了。
六
报错: _dispatch_barrier_sync_f_slow:brk #0x1
解决方式:在调用系统api通知请求打开的时候出现了死锁状况,原因是因为使用的腾讯sdk引起的换了一个新的sdk解决了这个问题。
小结:
暂时只找到了这么多,我还是会继续记录一些问题。其实中间还遇到过bitcode的问题。很多问题遇到了不记录下来下次遇到还是容易忘记。决定给自己做一个的小的记录在这里方便自己也方便大家。