我正在创建一个RN应用程序,它是某种包装器。它应该有多个目标(如Xcode),并且它的所有内容(图像、文本等)都应该依赖于目标。不幸的是,我找不到任何关于如何在不打开Xcode或Android Studio项目并手动创建这些目标的情况下实现这一目标的有用信息(比如这里)。对此有其他解决方案吗?
我仍然在为所描述的问题而挣扎,但我终于找到了解决方案。这并不容易,需要编写一些样板代码,看起来更像是一种变通方法,但我希望它能在未来对某人有所帮助。我所做的是,我已经完成了我的包装应用程序,为我的一个目标提供了资源,这样我就可以产生视觉效果。在项目的根目录中,我为每个目标创建了一个包含子文件夹的文件夹。在每个文件中,我都放置了与目标相关的文件(图像、源代码文件、其他资产)。然后,我创建了bash脚本,该脚本接受一个参数——目标的名称。在此基础上,它将替换项目结构中从目标子文件夹到原始文件目标的所有目标相关文件。在这个过程中,所有的元数据信息也被替换,所以在启动.sh文件后,我可以构建应用程序并将其上传到两个商店。单独创建所有这些应用程序并发布它们确实很耗时,这可能不是最好的解决方案,但至少它有效!
在android上,您可以编辑build.gradle文件、java或属性,而无需启动android Studio(只需使用gradle)
您只需更改app/build.gradle 即可构建不同类型的口味
在iOS上,这是另一回事。项目文件(.pbxproj)一团糟,其他工作区/方案文件不容易读取或编写脚本。所以XCode是前进的道路。
我试着有一个动态的目标&Info.plist,有一些工具可以编写像PlistBuddy 这样的脚本
最后,我发现有很多方法可以为开发人员启动React Native应用程序。有些人更喜欢命令行,而且只喜欢VSCode。其他人则希望使用本机IDE。
顺便说一下,本机IDE非常有用。例如:你想微调你的应用程序性能,使用XCode视图层次结构调试器或android Studio Layout Inspector(请确保你不会使用太多视图),或者使用这些IDE提供的任何其他性能工具。。。
最后,我使用了react本机配置以及多个几乎相似的配置(每个配置的Info.plist<target<Scheme),下面是一篇概述设置的文章。