【问题标题】:Only in release build, clang: error: no such file or directory: '/Users/vagrant/Library/Developer/Xcode/DerivedData仅在发布版本中,clang:错误:没有这样的文件或目录:'/Users/vagrant/Library/Developer/Xcode/DerivedData
【发布时间】:2018-03-30 09:31:54
【问题描述】:

我在调试模式下构建项目正常,但是当我更改为发布时开始出现此错误

clang:错误:没有这样的文件或目录: '/Users/vagrant/Library/Developer/Xcode/DerivedData/myProject-afhcainiqkrasrazkmlyzpkzbhne/Build/Intermediates.noindex/ArchiveIntermediates/skimitarDevelopment/BuildProductsPath/Release-iphoneos/libRNGoogleSignIn.a'

不完全确定原因,libRNGoogleSignIn.a 在我的所有目标上的构建阶段 中都有链接。

这是我第一次遇到这个问题,尝试清理我的项目,删除 DerivedData 文件夹,完全退出(重新启动)XCode,但没有运气。

错误中提到的libRNGoogleSignIn.a文件指的是这个项目的产品(https://github.com/Asimetriq/rn-google-sign-in/tree/master/ios

它作为库添加到我的主项目中,即我右键单击Libraries -> 将文件添加到我的项目中 -> 我选择 RNGoogleSignIn.xcodeproj

然后我去Build Phases并在链接步骤下添加libRNGoogleSignIn.a

我不确定这是否相关,但文件以红色突出显示:

并且文件明确链接,我不确定为什么它从未出现在 DerivedData 中

【问题讨论】:

    标签: ios xcode react-native


    【解决方案1】:

    这就是问题所在。我的主要项目针对的是 iOS 10.3,而这个新创建为可可触摸静态库的库默认针对的是 ios 11+。

    只要我将库目标设置为较低版本,即在我的情况下为 10,它就会正确构建。

    【讨论】:

    • 这很有帮助,为了记录,请务必为 xcode 项目和库目标设置正确的版本。即单击灰色斗兽场图标,选择构建设置,向下滚动到 iOS 部署目标设置(或搜索它)
    • 我用这个解决方案尝试了很多次,什么对我有用我只是先单独成功构建RNGoogleSignIn,然后构建洞项目
    【解决方案2】:

    RNGoogleSignin 的默认 iOS Deployment Target7.0,将其更改为至少 8.0 应该可以解决问题

    【讨论】:

      【解决方案3】:

      另一种解决方案是删除派生数据目录并重新构建

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-04-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-12-15
        • 1970-01-01
        相关资源
        最近更新 更多