The*_*aan 5 xcode build ios flutter
我有一个现有的项目(20k 行代码),我现在想要为 iOS 构建(该项目是使用 Android 开发和测试的,但我确实检查了它所依赖的每个包是否表明 iOS 支持。)
我对 Mac 完全陌生(我花了一段时间才弄清楚如何通过 GUI 启动应用程序),但我设法完成了 MacOS 的 Flutter 设置指南。
Flutter doctor 显示一切正常,到目前为止示例 Flutter 应用程序可以在 Xcode iPhone 模拟器上运行。
该应用程序需要在构建或启动时指定一种风格, - 在 android 方面,我有 dev、qa 和 prod,每个都有完整和免费,即总共 6 种风格和单独的入口点。
现在,当我尝试从 Android Studio 在模拟器上运行应用程序时,出现错误
Xcode 项目没有定义自定义方案。
您不能使用 --flavor 选项。
无法为模拟器构建应用程序。
在 iPhone 11 Pro Max 上启动应用程序时出错。
在 android 方面,我使用多个 src 目录结构与 AndroidManifest 文件和单独的 mipmap 资源目录,加上一个脚本来根据风格切换资产包。Flavors 分别指定了一个特定的 main-*.dart 入口点/目标,并且有一系列 googleservices.json 文件也对应于这些 flavor。
我现在需要一种方法将所有这些转换为 xcode - 我认为它被称为“架构”。我认为我需要一个工具来设置模式(如果失败,则需要一个脚本来在构建过程中设置每个风格的部分)。或者他们被称为跑步者档案?
我的问题是这个工具在哪里。有命令行版本吗?我可以以某种方式启动 Xcode GUI 并为 Android Studio 中的项目设置架构吗?一旦我真正看到它的样子,许多博客中使用的许多术语可能会变得清晰。
一旦我有了工具,我从阅读其他人的问题中意识到下一个障碍将是查看需要特定设置/调整的地方才能让 iOS 构建通过,我认为这对于某些软件包来说尤其是一个问题,但是对于现在我仍在研究工具。
可能与“我的下一个障碍”有关,或者可能与不完整的工具设置有关,当我尝试在没有指定任何风格的情况下在模拟器上运行应用程序时,它告诉我 Xcode 构建完成并且应用程序安装在模拟器上,但是它因堆栈跟踪而失败。我的猜测是它告诉我它没有 googleservices.json 文件(应该在设置正确的 (googleservices-plist.info?) 文件后根据风味进行整理 - 但在哪里和这是怎么做的?)
这也可能是由于权限,甚至是包错误。
编辑:调用堆栈是指 FIRapp 配置和 FLFirebaseMessagingPlugin registerWithRegistrar。这暗示了缺少的 googleservices 配置,该配置显然尚不可用 - 因为它是特定于风味的,我需要对其进行设置。
一些尖锐/具体的问题:
1. flutter run 和 flutterbuild 是否将“flavor”参数作为方案名称传递给 xcode?我认为答案是肯定的,否则需要在某处进行映射。
2. 我如何为 xcode 中的每个风格设置方案(意识到该项目在 Android Studio 中)。
3. AndroidManifest.xml 的 iOS 等价物是什么,专门用于指定 applicationID 和启动器图标和应用程序“标签”
4. 如何为 iOS 指定每个架构(每个风格)的 googleservices.json 文件?
5. 如何/在哪里设置每个模式启动器图标?
我想我可以通过使用一组属于指定“风味”的文件替换“默认架构”文件的脚本来完成上述所有操作 - 这是我使用的策略,因为 Flutter Flavors 不会扩展到资产或者就此而言,在 pubspec.yaml 文件中设置的任何内容 - 但我更喜欢尽可能使用受支持的工具而不是黑客解决方案。
我遇到了同样的问题。如果您使用的是 git,请尝试删除源代码文件夹并再次克隆。Git 缓存了一些阻止 iOS 构建的内容
如果您还没有为 iOS 设置风味,请按照第 3 部分教程进行操作
| 归档时间: |
|
| 查看次数: |
5466 次 |
| 最近记录: |