gpt4 book ai didi

xcode - 在错误的 Build/Products 文件夹中使用自己的配置对 native 构建使用react

转载 作者:行者123 更新时间:2023-12-05 07:37:56 25 4
gpt4 key购买 nike

我正在尝试为开发、暂存和生产配置单独的配置,以便仅使用一个存储库构建三个应用程序。我正在使用 native react ,并且希望有可能只更改 Xcode 中的方案,以便为每个应用程序提供不同的图标、不同的应用程序名称和不同的应用程序 ID。此外,从控制台构建应该是可能的,因为我使用的是 CI/CD

环境:

  • 操作系统:macOS High Sierra 10.13.2
  • 节点:9.3.0
  • yarn :1.3.2
  • npm:5.6.0
  • 守望者:4.9.0
  • Xcode:Xcode 9.2 构建版本 9C40b
  • 安卓工作室:2.3 AI-162.3764568

软件包:(需要 => 安装)

  • react :16.0.0 => 16.0.0
  • native react :0.50.3 => 0.50.3
  • 目标平台:iOS (8.0)

我已经取得的成就:

在 Xcode 中使用自己的图标、名称和应用程序 ID 创建新的配置和方案。更改调试配置。

  1. 重复配置“Release”=> Named Staging
  2. 添加新的 IconsSets => AppIconStaging 和 AppIconDebug
  3. 更改目标build设置
    1. ASSETCATALOG_COMPILER_APPICON_NAME
      • 调试:AppIconDebug
      • 暂存:AppIconStaging
      • 发布:AppIconRelease
    2. PRODUCT_BUNDLE_IDENTIFIER
      • 每种配置都不同
    3. PRODUCT_NAME
      • 每种配置都不同
  4. 复制方案 => 命名为:ProjectDebug 和 ProjectStaging
  5. 编辑方案
    1. 为运行、配置文件和存档设置build设置
      • ProjectDebug => 调试
      • ProjectStaging => 暂存

此时尝试在模拟器上运行 ProjectStaging 失败,因为构建失败。我注意到,在我的项目的新 git 克隆上使用暂存配置构建 ProjectStaging 时,一些文件构建在 ios/build/Build/Products/Release-iphonesimulator 中。

由于此文件构建失败,无法在 Staging-iphonesimulator 文件夹中找到它们。

通过更改 Staging 配置的一些build设置,有一些指向解决方案的链接,这告诉我们更改一些其他配置:

更改:标题搜索路径框架搜索路径库搜索路径用户标题搜索路径

`$(BUILD_DIR)/Release$(EFFECTIVE_PLATFORM_NAME)`

现在,当尝试从 Xcode 运行时,所有方案构建都失败了:

`/Volumes/Workspace/Projects/Project/ios/ProjectTests/ProjectTests.m:11:9: 'XCTest/XCTest.h' file not found`

从控制台运行:

`node node_modules/react-native/local-cli/cli.js run-ios --device --scheme ProjectStaging --configuration Staging`

由于同样的问题构建失败,但应用程序已安装并运行良好(目前找不到任何错误)

构建存档始终有效。

我认为这是一个 React Native 问题,但也许我做错了什么。

我使用的链接

最佳答案

我发现有时将原生模块添加到 React 原生 Xcode 项目会导致该模块的项目未针对父项目中的所有配置进行设置。

因此,例如,如果我有这个 Test1 项目,其中添加了额外的“暂存”配置:

enter image description here

然后我可能需要使 native 模块项目的配置匹配,因此它的设置与父模块兼容。从目标选择器中选择项目:

enter image description here

并添加相应命名的配置,在本例中为“Staging”:

enter image description here

这不会一直发生。我已经通过手动添加 native 模块项目的方法以及使用 react-native link 命令看到了这种行为。

它肯定会减慢开发速度,并使 React Native 工作的体验黯然失色。它有助于在对 native 平台环境、Xcode 和 Gradle 进行故障排除方面有一些便利。

关于xcode - 在错误的 Build/Products 文件夹中使用自己的配置对 native 构建使用react,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48318512/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com