美文网首页
Xcode/cocoapods ld: library not

Xcode/cocoapods ld: library not

作者: 大城子 | 来源:发表于2019-07-17 10:19 被阅读0次

最近在维护一个老项目, 发现使用的AFNetworking已经太老了, 项目并没有使用cocoapods, 于是打算给项目集成一下cocoapods方便以后维护, 一顿常规操作

pod init
编辑podfile
pod install

run一下, 发现报了ld: library not found for -l<AFNetworking>的错误, 目前只集成了这一个Pod

解决方法

删除了原先build settings内几个键的所有值改为了$(inherited):

OTHER_LDFLAGS 对应Other Linker Flags
OTHER_CFLAGS 对应Other C Flags
LIBRARY_SEARCH_PATHS 对应 Library Search Paths
HEADER_SEARCH_PATHS 对应 Header Search Paths

原因

  • cocoapods会修改xcode的编译配置, 如何修改的呢, 通过Pods-yourpoject.debug.xcconfigPods-yourpoject.release.xcconfig这两个文件, xconfig格式文件也可以自己创建, 是Apple给用户准备的自定义配置文件
  • 在这里生效:


    image.png
  • Xcode build过程会优先使用这个xconfig格式文件的键值
  • 另外, target可以继承project的build settings的键值, 即通过$(inherited)
  • 由于我的项目之前没有这个关键字, 导致Library Search Paths没有继承cocoapods的项目配置, 出现了无法link library的问题

结论

一定要把cocopods的Pods-yourpoject.debug.xcconfigPods-yourpoject.release.xcconfig这两个文件传递到target中, 否则将会出现build错误的问题

相关文章

网友评论

      本文标题:Xcode/cocoapods ld: library not

      本文链接:https://www.haomeiwen.com/subject/aciflctx.html