在 iOS 发布模式下构建 Flutter 应用

Posted

技术标签:

【中文标题】在 iOS 发布模式下构建 Flutter 应用【英文标题】:Build Flutter app in release mode for iOS 【发布时间】:2018-09-06 21:54:00 【问题描述】:

我安装了带有 Flutter 插件的 android Studio。 Flutter SDK 也通过 Android Studio 安装在我的 Mac 上,我知道它的路径。

我想在真正的 ios 设备上以发布模式运行我的应用程序。据我所知,不仅要隐藏可以使用此代码完成的“慢速模式”横幅

new MaterialApp(
  debugShowCheckedModeBanner: false,
  ...

还要检查我的应用程序是如何工作的。

我找到了这条指令https://flutter.io/ios-release/,但仍然无法在发布模式下构建应用程序。

每次我尝试在终端中运行颤振命令时,我都会得到:

颤动:找不到命令

我认为这是因为我从 Android Studio 安装了 Flutter SDK,我应该更新一些路径。 那么使用 Xcode 在发布模式下构建 Flutter 应用的步骤是什么?

【问题讨论】:

你需要在你的路径中添加flutter/bin 所以我打开我的终端,我应该用 cd 命令去哪里?接下来我该怎么做? 按照说明here 对不起,这没有帮助。 应该的。您的安装有问题。 【参考方案1】:

即使在运行flutter build ios 之后,Xcode 也始终运行 Debug 版本(慢速模式)。

为了解决这个问题,我不得不更改 Run 架构的 Build Configuration

    点击Runner,然后Edit scheme

    Run 架构的构建配置选择 Release

希望这会有所帮助。

【讨论】:

非常有用 - 这是我第一次看到这个。到目前为止,对于我一直在查看运行 Flutter iOS 构建的所有文档和阅读资料,在您发布之前,我还没有遇到过这个重要的细节。非常感谢 默认flutter build ios使用--debug模式。为了让它在发行版中运行,您需要显式添加--release。即flutter build ios --release 不,flutter build ios 默认使用--release 模式。 很有帮助,也没看到这个!!他们应该把它放在发布文档中,因为flutter build iOS 默认创建一个发布版本,而 Xcode 对此并没有透露太多信息,这很容易出错。 最近我的笔记本电脑无法识别我的 iOS 设备除了通过 Xcode 连接外 - 所以我必须通过 Xcode 构建/运行 - 很高兴发现这个标志可以这样设置 - 谢谢!另外 - 虽然它就在答案中,但我在第一次尝试时以某种方式错过了“设置为 Run 模式” - 确保你执行了这一步! :)【参考方案2】:

构建步骤

如果您在终端中使用颤振命令时遇到问题,因为找不到 - 请阅读下面的配置步骤

第 1 步

打开终端,运行命令

cd /Users/John/myFlutterApp/

运行

flutter build ios

打开 Xcode 并运行 iOS 文件夹中的 .xcworkspace 文件。它现在应该可以顺利运行,并且慢速模式横幅应该消失了。

配置步骤

第 1 步

找到你的 mac 上安装 Flutter 的文件夹。如果它是使用 Android Studio 安装的。只需打开 Android Studio 创建新的 Flutter 项目,您就会看到 Flutter SDK 路径。 例如让它成为 /Users/John/flutter/

第 2 步

在你的 Mac 上打开终端并运行

cd /Users/John/

如您所见,我们现在比 SDK 路径高一级

第 3 步

运行

export PATH=`pwd`/flutter/bin:$PATH

如果您现在在终端中运行 flutter,您应该会看到可用参数列表。这样你就可以运行了

flutter doctor

检查安装是否一切正常。 现在 flutter 命令只适用于这个终端会话。如果您关闭它然后再次打开它并运行更完整的命令 - 您将收到此命令未知的错误。因此,即使在终端关闭后,您也希望保存颤振命令可用。

第 4 步

运行

open ~/.bash_profile

您会看到需要粘贴的文本编辑器

export PATH=/Users/John/flutter/bin:$PATH

保存文件。如果您现在关闭终端并再次打开它 - 您应该能够运行颤振命令。

【讨论】:

有用的答案!我不知道你必须从命令行运行flutter build ios才能在发布模式下构建。 否则应用运行速度会慢很多 要在 App Store 上发布应用,请指定开发团队或在 Xcode 中启用自动登录,然后运行flutter build ios --release,它将进行发布构建。【参考方案3】:

您也可以直接在 Android Studio 中执行此操作。

> 运行> Flutter 在发布模式下运行'main.dart'

【讨论】:

【参考方案4】:

您可以使用 Release Mode 在终端中轻松运行您的应用程序:

flutter run --release

它会切换到发布模式

但如果您不想运行您的应用,只想构建您的 apk 或 ipa,使用:

 flutter build --release

您可以使用flutter build ios指定为ios构建

【讨论】:

【参考方案5】:

按照以下 3 个步骤操作:

    在 Xcode 中打开您的 Flutter 项目。 顶栏产品 > 方案 > 编辑方案 构建配置 - 选择版本

注意:Release 类型的 Flutter 应用在​​ iOS 设备上的有效期为 7 天。

【讨论】:

【参考方案6】:

我只是想构建 ios .ipa 文件以用于测试目的,不费吹灰之力,请按照我采取的步骤进行操作,希望它们会有所帮助。

    在终端中运行此命令。

    flutter build ios --release --no-codesign

    然后转到存储输出的文件夹。

构建/ios/iphoneos

    之后,您必须在 iphoneos 文件夹中创建一个名为“Payload”的新目录/文件夹。

    之后将输出文件“Runner.app”(名称可以不同)移动到“Payload”文件夹。

    然后压缩“Payload”文件夹并重命名为“YouAppName.ipa”。 (确保更改扩展名)

它已经完成了。

该解决方案将帮助您无需签名即可获得 .ipa 文件。

【讨论】:

【参考方案7】:

如果您只想使用 Android Studio 在发布模式下部署您的应用,您还可以手动将 --release 标志添加到您的运行/调试配置中。

【讨论】:

以上是关于在 iOS 发布模式下构建 Flutter 应用的主要内容,如果未能解决你的问题,请参考以下文章

在发布模式下构建后 Flutter Secure Storage 无法正常工作

IOS 的 Flutter 应用程序,是不是可以在没有 Xcode 的情况下设置 IOS“旧版构建系统”?

flutter ios app在testflight模式下显示白屏?

在 Debug 模式下工作正常 vs Build APK 不工作,Flutter

在 Ios 14 Flutter App 中,在 Debug 模式下不保存

用于测试的 Flutter ios 构建