【问题标题】:Cannot archive iOS project in Xcode 10 beta 4无法在 Xcode 10 beta 4 中存档 iOS 项目
【发布时间】:2019-01-29 20:39:04
【问题描述】:

我一直在尝试使用 Xcode 10 beta 4 存档,在通过 this issue 之后,我在存档项目时遇到了不同的问题:

/Users/rodrigovasconcelos/MyApp/mobile/ios/MyApp-Bridging-Header.h:5:9: error: 'React/RCTBridgeModule.h' file not found
#import <React/RCTBridgeModule.h>
        ^
1 error generated.
<unknown>:0: error: failed to emit precompiled header '/Users/rodrigovasconcelos/Library/Developer/Xcode/DerivedData/MyApp-cpkesijquffkhgfgaagxybgvqlpr/Build/Intermediates.noindex/ArchiveIntermediates/Edge/PrecompiledHeaders/MyApp-Bridging-Header-swift_1E09NP8RKFO6-clang_1NNXX086AFKFR.pch' for bridging header '/Users/rodrigovasconcelos/MyApp/mobile/ios/MyApp-Bridging-Header.h'

如果我尝试使用 XCode 的最新稳定版本 (9.4.1) 构建和存档,则不会出现此问题 到目前为止,我已经尝试重新安装我的 Pod,清理 XCode 派生数据和 node_modules 文件夹,并且还寻找了类似的问题,但没有任何帮助。

【问题讨论】:

  • 为什么要使用 Xcode 测试版存档应用程序?
  • @l'L'l 我需要在 9 月发布之前使用 iOS 12 的一些功能构建一个暂存版本。
  • 有问题的文件 (RCTBridgeModule.h) 是否在 React 目录中?如果是这样,则错误可能是 Apple 由于其政策而使在 Xcode 的 beta 版本中存档变得更加困难的情况。您可能会尝试的另一件事是通过Application Loader 代替,有时已知它可以替代工作。
  • @l'L'l 问题显然在于新 XCode 如何处理自定义配置(不是发布或调试)。我将发布修复的答案。

标签: xcode react-native cocoapods xcode10


【解决方案1】:

这个问题实际上与 React 和 Xcode 如何处理自定义项目配置(不同于发布/调试)有关。
我偶然发现了阅读 this issue 的解决方案,但我会将其粘贴到此处以防链接以某种方式过期:

  1. 在我的当前方案下添加了 React 构建目标 项目。 (旁注:如果您使用 fastlane 进行部署,请保留您的 项目的构建目标放在首位,否则 fastlane 得到 感到困惑并认为您正在构建一个库,因此它永远不会构建一个 ipa)。

  2. 在 [Target] > Build Phases > Target Dependencies 下添加了 React,这使得 Xcode 在构建其余部分之前构建 React 项目。

  3. 在 [Target] > 构建设置下,添加了一个新的用户定义设置,称为 REACT_HEADERS_PATH。对于所有未命名的配置 调试或发布,我将其设置为 $(BUILD_DIR)/Release-$(PLATFORM_NAME)/include

  4. 在 [Target] > Build Settings > Header Search Paths 下,我添加了 $(REACT_HEADERS_PATH) 作为条目。

    对项目中的所有目标重复。

【讨论】:

    猜你喜欢
    • 2019-02-22
    • 2019-11-27
    • 2019-11-30
    • 2019-05-13
    • 2022-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多