ld: library not found for -lAFNetworking

来源:互联网 发布:天融信数据库审计系统 编辑:程序博客网 时间:2024/06/01 07:33

又是这个错误提示。不过这次的情况有点特别。
同事在一个接过来维护的工程中添加cocoapods第三方库管理,添加AFNetWorking。之后我copy下来本地,是能正常使用的
我们先看看此时的设置
这里写图片描述

但是当我使用AFNetWorking的时候,问题就出现了。(先用pod install一下)

[!] The `Amway_boku_iphone [Debug]` target overrides the `OTHER_LDFLAGS` build setting defined in `Pods/Target Support Files/Pods-Amway_boku_iphone/Pods-Amway_boku_iphone.debug.xcconfig'. This can lead to problems with the CocoaPods installation    - Use the `$(inherited)` flag, or    - Remove the build settings from the target.

首先install的时候提示这个警告。
要求我们在Build Settings ——Linking——Other Link Flags 添加$(inherited)
设置完之后,再pod install 一次,这次就没提示了

import AFNetWorking的头文件
接着就报错

ld: library not found for -lAFNetworking

打开Build P’hases ——Link Binary With Libraries
我们发现是没有AFNetworking这个Lib的。然而AFNetWorking根本就没这样一个Lib需要引用。而我发现这里面有一个.a文件没有引用到
这里写图片描述

这时候,真机是可以运行的。模拟器不能运行。同时,真机运行之后,上面的.a文件生成了。
这里写图片描述
我们还可以发现里面有libAFNetWorking.a。缺失的文件可能就是这个。

真机可以,模拟器不行,有可能就是编译指令集区别的问题了。这时候想到了上面提到的Build Active Architecture Only。将debug设置成(release我试过可以成功打包出来,应该release没有问题)YES之后,编译成功。之后再将debug设置成NO,也不再报错了。。。

如果在设置YES之前,将Valid Architecture 设置成只有arm64时,也可以build成功。这个估计是AFNetWorking不支持32位了???
这里写图片描述

0 0
原创粉丝点击