在 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