【问题标题】:Xcode 10 "Could not build module Darwin / Foundation / CoreFoundation" etcXcode 10“无法构建模块 Darwin / Foundation / CoreFoundation”等
【发布时间】:2019-03-04 04:13:45
【问题描述】:

切换到 Xcode 10 后(现在必须使用旧版构建系统),我开始收到如下所示的错误。在本地,我几乎可以通过清理所有东西来修复它们,即Derived Data / Build etc...

在 Xcode 中运行的调试和发布对我来说运行良好,但是我一直在努力在我们的 CI(比特上升)中解决这个问题。

我们使用 Fastlane,并且我们的通道具有清除派生数据和执行干净构建的步骤。

clear_derived_data
build_ios_app(
  workspace: "application.xcworkspace",
  scheme: "application",
  clean: true
)

然而这些错误不断发生(这些只是几个例子,大约有 30 个这样的错误一个接一个地指向同一个包,如 Darwin 等):

❌  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CoreFoundation.h:16:10: could not build module 'Darwin'
#include <sys/types.h>
         ^~~~~~~~

❌  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/usr/include/dispatch/dispatch.h:25:10: could not build module 'Darwin'
#include <Availability.h>
 ~~~~~~~~^

❌  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:6:10: could not build module 'CoreFoundation'
#include <CoreFoundation/CoreFoundation.h>
 ~~~~~~~~^

❌  /Users/vagrant/git/packages/skimitar-app/node_modules/react-native-firebase/ios/RNFirebase/functions/RNFirebaseFunctions.h:3:9: could not build module 'Foundation'
#import <Foundation/Foundation.h>
 ~~~~~~~~^

编辑:legazy 构建设置是否持续存在,即如果在我们的 Xcode 中设置并提交给 git,ci 是否也会使用旧版构建系统?

【问题讨论】:

  • 你检查过你的构建系统了吗?从文件 > 项目/工作区设置
  • @guru yeh,它在共享工作区设置下设置为Legacy Build System,在每个用户工作区设置下设置为Use Shared Setting,这是正确的。我现在想知道这是否仅在我的本地 XCode 中设置,而不是以某种方式作为 XCode 的 CI 版本的设置?
  • 我的 .xcsettings 文件中似乎应该有 BuildSystemType -&gt; Original
  • 你修好了吗?
  • @guru 不,所有这些都是在这个问题之前设置的。

标签: ios objective-c xcode fastlane xcode10


【解决方案1】:
  1. 如果您使用的是 Bitrise,请转到“Xcode Archive & Export for iOS”步骤。
  2. 向下滚动并展开“调试”部分。向下滚动到“在存档之前进行干净的 Xcode 构建吗?”并将其更改为“是”。
  3. 保存您的设置开始新的构建,不要重新构建,因为它将使用旧设置。

【讨论】:

    【解决方案2】:

    我通过将构建系统设置为 Legacy 来解决此问题。

    打开PROJECT_NAME.workspace file

    然后在顶部菜单中选择File &gt; Workspace Settings

    然后把Build System改成Legacy Build System

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-20
      • 1970-01-01
      相关资源
      最近更新 更多