Ios 如何在Xcode中使用颤振风格

Ios 如何在Xcode中使用颤振风格,ios,xcode,flutter,build,Ios,Xcode,Flutter,Build,我有一个现有的项目(20k行代码),我现在想为iOS构建这个项目(这个项目已经用Android开发和测试过了,不过我确实检查了它所依赖的每个软件包是否都表示支持iOS) 我对Mac完全陌生(我花了一段时间才弄清楚如何通过GUI启动应用程序),但我还是设法完成了MacOS的Flitter安装指南 颤振医生显示一切正常,到目前为止,示例颤振应用程序可以在Xcode iPhone模拟器上运行 该应用程序在构建或启动时需要有一个特定的风格,在android端,我有dev、qa和prod,每个都有完整和免

我有一个现有的项目(20k行代码),我现在想为iOS构建这个项目(这个项目已经用Android开发和测试过了,不过我确实检查了它所依赖的每个软件包是否都表示支持iOS)

我对Mac完全陌生(我花了一段时间才弄清楚如何通过GUI启动应用程序),但我还是设法完成了MacOS的Flitter安装指南

颤振医生显示一切正常,到目前为止,示例颤振应用程序可以在Xcode iPhone模拟器上运行

该应用程序在构建或启动时需要有一个特定的风格,在android端,我有dev、qa和prod,每个都有完整和免费的,即总共6种风格和单独的入口点

现在,当我试图在Android Studio的模拟器上运行应用程序时,我得到了一个错误

Xcode项目未定义自定义方案。
您不能使用--flavor选项。
无法为模拟器生成应用程序。
在iPhone 11 Pro Max上启动应用程序时出错

在android端,我使用多个src目录结构,包括AndroidManifest文件和单独的mipmap资源目录,以及一个脚本来根据风格切换资产包。每种风格都指定了一个特定的main-*.dart入口点/目标,还有一系列googleservices.json文件也对应于这些风格

我现在需要一种将所有这些转换为xcode的方法——我推测它被称为“模式”。我想我需要一个工具来设置模式(如果设置失败,则需要一个脚本来在构建过程中设置每种味道的部分)。或者它们被称为跑步者档案

我的问题是这个工具在哪里。有命令行版本吗?我是否可以启动Xcode GUI并为Android Studio中的项目设置模式?一旦我能真正看到它的样子,许多博客中使用的术语可能会变得清晰起来

一旦我准备好了工具,我从阅读其他人的问题中意识到,下一个障碍将是看需要在哪里进行特定的设置/调整才能通过iOS构建,我认为这对于一些软件包来说是一个特别的问题,但目前我仍在制定工具

可能与“我的下一个障碍”有关,或者可能与不完整的工具设置有关,当我尝试在模拟器上运行应用程序而没有指定任何风格时,它告诉我Xcode构建完成,并且应用程序已安装在模拟器上,但由于堆栈跟踪而失败。我的猜测是,它告诉我它没有一个googleservices.json文件(一旦设置了正确的(googleservices plist.info?)文件,就应该根据激活的味道对其进行排序,但是在哪里以及如何进行排序?)

这也可能是由于权限,甚至是包错误

编辑:调用堆栈引用FIRapp配置和FLFirebaseMessagingPlugin注册表WithRegister。这暗示了缺少的googleservices配置显然还不可用——因为它是特定于味道的,我需要设置它

一些有针对性的/具体的问题:
1.flatterrun和flatterbuild是否将“flavor”参数作为方案名称传递给xcode?我假设答案是肯定的,否则需要在某个地方进行映射。
2.我如何在xcode中为每种风格设置方案(由于项目在Android Studio中,因此需要认知)。
3.AndroidManifest.xml的iOS等价物是什么,特别是用于指定applicationID和启动器图标以及应用程序“标签”
4.如何为iOS指定每个模式(每个风格)的googleservices.json文件?
5.如何/在何处设置每个模式启动器图标


我想我可以通过使用一组属于指定“风格”的文件替换“默认模式”文件的脚本来完成上述所有工作-这是我使用的策略,因为Flatter Flavors不会扩展到资产或pubspec.yaml文件中设置的任何内容-但我更喜欢尽可能使用支持的工具,而不是黑客解决方案。

我也遇到了同样的问题。如果您使用的是git,请尝试删除源代码文件夹并再次克隆。Git缓存了一些阻止构建iOS的东西

如果您还没有为iOS设置flavor,请遵循本第3部分教程


删除.idea目录并重新启动Android Stdio修复了我的环境中的相同问题