[英]Only in release build, clang: error: no such file or directory: '/Users/vagrant/Library/Developer/Xcode/DerivedData
I was building my project fine in debug mode, but started getting this error when I changed to Release 我在调试模式下正在构建我的项目,但是在我更改为Release时开始出现此错误
clang: error: no such file or directory: '/Users/vagrant/Library/Developer/Xcode/DerivedData/myProject-afhcainiqkrasrazkmlyzpkzbhne/Build/Intermediates.noindex/ArchiveIntermediates/skimitarDevelopment/BuildProductsPath/Release-iphoneos/libRNGoogleSignIn.a' clang:错误:没有这样的文件或目录:'/ Users/vagrant/Library/Developer/Xcode/DerivedData/myProject-afhcainiqkrasrazkmlyzpkzbhne/Build/Intermediates.noindex/ArchiveIntermediates/skimitarDevelopment/BuildProductsPath/Release-iphoneos/libRNGoogleSignIn.a'
No entirely sure why, libRNGoogleSignIn.a
is linked in my Build Phases on all of my targets. 不完全确定为什么, libRNGoogleSignIn.a
在我的所有目标的Build Phases中链接。
This is first time I came across the issue, tried cleaning my project, deleting DerivedData folder, completely quitting (restarting) XCode with no luck. 这是我第一次遇到这个问题,尝试清理我的项目,删除DerivedData文件夹,完全退出(重启)XCode没有运气。
libRNGoogleSignIn.a
file mentioned in the error refers to this projects Product ( https://github.com/Asimetriq/rn-google-sign-in/tree/master/ios ) 错误中提到的libRNGoogleSignIn.a
文件指的是此项目产品( https://github.com/Asimetriq/rn-google-sign-in/tree/master/ios )
It is added to my main project as a library ie I right click Libraries
-> Add files to my project -> I select RNGoogleSignIn.xcodeproj 它被添加到我的主项目中作为库,即我右键单击Libraries
- >将文件添加到我的项目 - >我选择RNGoogleSignIn.xcodeproj
Afterwards I go to Build Phases
and add libRNGoogleSignIn.a
under Linking step. 然后我转到Build Phases
并在Linking步骤下添加libRNGoogleSignIn.a
。
I'm not sure if this is related, but file is highlighted in red: 我不确定这是否相关,但文件以红色突出显示:
And file is clearly linked, I'm not sure why it is never appearing in DerivedData 文件清楚地链接,我不确定为什么它永远不会出现在DerivedData中
Here is where the issue lies. 这就是问题所在。 My main project targets iOS 10.3, where as this library that was freshly created as cocoa touch static library was targeting ios 11+ by default. 我的主要项目针对的是iOS 10.3,其中作为cocoa touch静态库新创建的库默认为ios 11+。
As soon as I set libraries target to lower version ie 10 in my case it built correctly. 一旦我将库目标设置为较低版本,即在我的情况下它正确构建10。
RNGoogleSignin的默认iOS部署目标是7.0 ,将其更改为至少8.0应解决问题
另一种解决方案可能是删除派生数据目录并重新构建
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.