按照个推的官方文档配置项目时候,出现了如下报错:
ld: framework not found FileProvider for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
找了整个项目都没有发现哪里使用了FileProvider这个基本库文件,而且个推的官网上使用的也是Xcode8的编译器,最后问了个推的技术支持解决了次问题。
问题的原因在于,FileProvider这个基本库文件只有在Xcode9之后才有在Xcode8中并没有这个库,解决的办法是下载一个Xcode9,然后将其中的FileProvider文件拷贝到Xcode8相应的位置处,注意要先将正在运行的Xcode8给关掉。
右击Xcode9,然后点击打开 显示包内容,然后找到如下路径
Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/FileProvider
找到这个FileProvider这个库文件,将其拷贝到Xcode8相应的位置。
注意:在拷贝文件时候,路径中有两个选择,一个是提供给模拟器使用,一个是真机使用,建议将两个路径下的包都拷过去,我就是因为模拟器上的包文件没有拷贝,导致使用模拟器运行一直报错。
模拟器的文件包路径为:
Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/FileProvider