ld: library not found for -lAFNetworking

又是这个错误提示。不过这次的情况有点特别。 
同事在一个接过来维护的工程中添加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.
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

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

import AFNetWorking的头文件 
接着就报错

ld: library not found for -lAFNetworking
  • 1
  • 1

打开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位了??? 
这里写图片描述

你可能感兴趣的:(Xcode)