在错误的Build / Products文件夹中将本机构建与自己的配置进行反应

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在错误的Build / Products文件夹中将本机构建与自己的配置进行反应相关的知识,希望对你有一定的参考价值。

我正在尝试使用单独的配置进行开发,登台和生产,只使用一个存储库构建三个应用程序。我正在使用本机反应,并希望有可能只更改Xcode中的方案,使不同的图标具有不同的应用程序名称和每个应用程序的不同app-id。也可以从控制台构建,因为我正在使用CI / CD

Environment:

  • 操作系统:macOS High Sierra 10.13.2
  • 节点:9.3.0
  • 纱线:1.3.2
  • npm:5.6.0
  • 守望者:4.9.0
  • Xcode:Xcode 9.2构建版本9C40b
  • android Studio:2.3 AI-162.3764568

包:(想要=>已安装)

  • 反应:16.0.0 => 16.0.0
  • 反应原生:0.50.3 => 0.50.3
  • 目标平台:ios(8.0)

What I already achieved:

使用自己的图标,名称和app-ID在Xcode中创建新的配置和方案。更改调试配置。

  1. 重复配置“Release”=>命名分段
  2. 添加新的IconsSets => AppIconStaging和AppIconDebug
  3. 更改目标构建设置 ASSETCATALOG_COMPILER_APPICON_NAME 调试:AppIconDebug 暂存:AppIconStaging 发布:AppIconRelease PRODUCT_BUNDLE_IDENTIFIER 每种配置都不同 产品名称 每种配置都不同
  4. Duplicate Scheme => named:Project Debug和Project Staging
  5. 编辑方案 设置运行,配置文件和存档的构建设置 ProjectDebug => Debug ProjectStaging =>分段

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

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

通过更改Staging配置的一些构建设置,可以找到一些解决方案的链接,这可以告诉您更改其他一些配置:

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

`$(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`

由于相同的问题,构建失败,但App已安装并运行良好(暂时无法找到任何错误)

建立档案始终有效。

我认为这是一个反应原生的问题,但也许我做错了。

Links I used

答案

我发现有时向React本机Xcode项目添加本机模块会导致该模块的项目没有为父项目中的所有配置设置。

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

enter image description here

然后我可能需要为本机模块的项目匹配进行配置,因此其设置与父项兼容。从目标选择器中选择项目:

enter image description here

并在这种情况下添加相应命名的Configuration,“Staging”:

enter image description here

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

它肯定会减慢开发速度,并且可以减少React Native工作的体验。它有助于对本机平台的环境,Xcode和Gradle进行故障排除。

以上是关于在错误的Build / Products文件夹中将本机构建与自己的配置进行反应的主要内容,如果未能解决你的问题,请参考以下文章

在 xcode 构建步骤之后,为啥 DerivedData Build/Products 为空?

在OpenCV中将二维码投影到摄像头时,出现错误

Xcode 中未找到 Kiwi 文件错误

如何在 VSTS Build 中将 asp.net 项目发布到文件系统

如何在 build.gradle 中将参数传递给 Gradle 任务

为啥在 conda-build 的构建过程中将 $CONDA_PREFIX 设置为 $BUILD_PREFIX?