【发布时间】:2020-09-03 04:43:00
【问题描述】:
我想完全理解这个命令以及幕后发生的事情。以下是我目前了解的一些信息,但不知何故我无法将这些信息联系起来:
- 在部署 iOS 时,我们需要执行以下步骤:
- 在发布模式下构建一个 Flutter 应用,这将创建一个 .app 文件/文件夹
- 存档并签署 .app 文件,将其转换为 .ipa
- 将签名后的 .ipa 发送到应用商店
- flutter 应用可以有 3 种模式:1. 调试 2. 发布 3. 配置文件
- 运行
flutter build ios创建一个build/ios 文件夹,包括Release-iphoneos/Runner.app - Xcode 在 ~/Library/Developer/Xcode/DerivedData/Runner-... 中创建自己的 .app
现在,问题:
- 是Xcode转换成.ipa的build/ios/Release-iphoneos/Runner.app吗?我在问,因为我知道 Xcode 在 ~/Library/Developer/Xcode/DerivedData 中创建了自己的 .app,所以我不确定 Xcode 是否只是在这里复制 build/ios/Release-iphoneos/Runner.app:~ /Library/Developer/Xcode/DerivedData/ 与否
- 如果我之前不运行
flutter build ios会怎样? Xcode 会仅使用我的应用程序的调试模式吗?如果是这样,它为什么会删除右上角的调试标志? - 当我在 Xcode (shift+cmd+K) 中清理我的构建文件夹并归档应用程序时,它仍会构建一个新的 .app,然后将其转换为 .ipa。这个 .app 是在什么模式下创建的?它是一个发布应用程序吗?如果是这样,那为什么还要在之前运行
flutter build ios,为什么不直接从 Xcode 中存档呢?
感谢所有试图为我和其他想解开这个谜团的人。
【问题讨论】:
-
我也想知道更多,我希望有一些适当的文档。有时我会遇到 Xcode 构建错误,修复它的唯一方法是清理 Xcode,关闭它,然后运行
flutter build ios,然后重新打开 Xcode 并再次构建。有时我还需要重新安装 pod。整个过程对我来说完全是个谜 -
也想了解一下。看来互联网也不是很懂。
标签: ios flutter deployment command-line-interface