最近想研究一下第三方库Realm,在Podfile中添加依赖后(xcode9.1):
pod 'Realm', '~>3.12.0'
在Pod install后发现在代码中引用相关头文件:
#import “Realm/Realm.h”
一直提示头文件找不到,一贯的习惯,去stackoverflow中去搜索也没找到答案。只要静下心来仔细找原因。
-
Pod install之后会在工程目录下的Pods-{project}.Debug.xcconfig中添加头文件查找目录,例如上面Pod install Realm后,打开Pods-{project}.Debug.xcconfig文件,会发现
HEADER_SEARCH_PATHS添加了"${PODS_CONFIGURATION_BUILD_DIR}/Realm/Realm.framework/Headers -
问题就在这了,PODS_CONFIGURATION_BUILD_DIR, 看名字就知道,这是BUILD下的目录,这里只说模拟器对应目录大概类似如下:
/Users/wenpd/Library/Developer/Xcode/DerivedData/FlyControl-bldohgvsyonsqmdxtowbirbmlhoh/Build/Products/Debug-iphonesimulator
然后你会在此目录下发现我们引用的所有第三方库。
但是没有Realm啊,这就对了,这就是原因所在,因为Pod install之后,你还没编译,去掉提示出错的引用,然后重新编译工程,然后再去引用Realm的文件,你会发现XCode不再提示找不到文件了。
- 结论
归根结底,Pod install之后需要remake一下工程,然后才能正常使用第三方库。当然注意Pod install之后点击FlyControl.xcworkspace去打开Xcode,而不再使用原来的FlyControl.xcodeproj。