是否可以在 Linux 虚拟机上使用 Flutter 开发 iOS 应用程序?

Is it possible to develop iOS apps with Flutter on a Linux virtual machine?

我是开发移动应用程序的新手,想尝试 Flutter,但我使用 Windows。因为 Flutter 不支持 Windows 而我萌生了使用虚拟机 运行 Linux 安装 Flutter 的想法。这个有用吗?

在 Flutter 设置中它也是这样说的:

To develop Flutter apps for iOS, you need a Mac with Xcode 7.2 or newer.

有没有办法在没有 Mac 的情况下开发 iOS 应用程序?

正如您在问题中指出的那样:

To develop Flutter apps for iOS, you need a Mac with Xcode 7.2 or newer.

您可以使用外部服务(如 Travis-ci 或其他服务)为 iOS 构建代码。但是,它不能用作开发人员工作流程,因为这可能需要几分钟才能获得人工制品。

Windows 现在部分支持您可以为 Android 编辑和发布的方式,但您仍然无法为需要 mac 的 IOS 创建(XCode)。 更多信息 https://flutter.io/setup-windows

您应该查看 MacOS 云解决方案,例如 MacInCloud. There are CI/CD solution that will support it (e.g. CircleCI and BitRise),但是这些不适合开发。

MacInCloud 等服务允许您将桌面远程连接到 Mac,您可以在其中远程使用 XCode。

是的,您可以使用 Android Studio 或 Visual Studio 代码开发具有 Linux(或 Windows)的 iOS 应用程序。 Flutter 的要点是你有一个代码库,可以同时部署到 Android 和 iOS。所以开发阶段没问题。

过去,如果您有 Mac 个应用程序,您只能将 iOS 个应用程序部署到 App Store,但现在有更多选择。请参阅以下文章:

不过,要在 iOS 模拟器上测试您的应用,仍然需要 Mac。但是,从理论上讲,该应用程序在大多数情况下的行为应该与 Android 设备上的行为相同,因此您无需使用 iOS 模拟器对其进行测试。我想说的是,从长远来看,您可能会考虑获得 Mac,但一开始肯定没有必要。

更新: 在我最近制作的应用程序中,我的测试在 Android 模拟器中通过,但在 iOS 模拟器中崩溃。这是一个正常的错误,与 iOS 无关,但由于某种原因 Android 模拟器没有崩溃。因此,对于生产应用程序,您确实需要在 iOS device/simulator.

上对其进行测试

您可以使用 FlutelabCodemagicwww.flutelab.io www.codemagic.com