我正在尝试使用单独的配置进行开发,登台和生产,只使用一个存储库构建三个应用程序。我正在使用本机反应,并希望有可能只更改Xcode中的方案,使不同的图标具有不同的应用程序名称和每个应用程序的不同app-id。也可以从控制台构建,因为我正在使用CI / CD
使用自己的图标,名称和app-ID在Xcode中创建新的配置和方案。更改调试配置。
此时尝试在模拟器上运行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已安装并运行良好(暂时无法找到任何错误)
建立档案始终有效。
我认为这是一个反应原生的问题,但也许我做错了。
我发现有时向React本机Xcode项目添加本机模块会导致该模块的项目没有为父项目中的所有配置设置。
因此,例如,如果我有一个Test1项目,其中添加了一个额外的“Staging”配置:
然后我可能需要为本机模块的项目匹配进行配置,因此其设置与父项兼容。从目标选择器中选择项目:
并在这种情况下添加相应命名的Configuration,“Staging”:
这不会持续发生。我已经通过添加本机模块项目的手动方法以及使用react-native link
命令看到了这种行为。
它肯定会减慢开发速度,并且可以减少React Native工作的体验。它有助于对本机平台的环境,Xcode和Gradle进行故障排除。