【问题标题】:Is it possible to develop iOS apps with Flutter on a Linux virtual machine?是否可以在 Linux 虚拟机上使用 Flutter 开发 iOS 应用程序?
【发布时间】:2017-03-26 20:07:42
【问题描述】:

我是开发移动应用程序的新手,想尝试 Flutter,但我使用的是 Windows。因为 Flutter 还不支持 Windows,所以我想到了使用运行 Linux 的虚拟机来安装 Flutter。这行得通吗?

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

要开发适用于 iOS 的 Flutter 应用,您需要一台装有 Xcode 7.2 或更高版本的 Mac。

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

【问题讨论】:

  • 很可能是不可能的。就像使用任何其他跨平台框架 - phonegap/facebook-react 等一样。ASFAIK 您可以开发应用程序并在 Android 手机上对其进行测试,但要编译 iPhone 版本,您需要一台 macOS 机器。 Flutter 目前没有远程编译/云编译解决方案。
  • 重读问题和答案后,我注意到我可能误解了您的问题。 Flutter 应用程序可以在 Linux 和 Mac 上开发(参见 faqsetup requirements)。我以为你在开发 dart 和 Flutter 时会照顾目标移动设备的操作系统。为什么需要 ios other 进行测试?
  • @surfmuggle 我认为甚至不可能在 Linux 上为 ios 编译代码。当然,我可以编写代码并使用 Android 对其进行测试,但我无法在 ios 上进行测试(正如您所提到的),甚至无法为 ios 创建应用程序。
  • 补充到这个问题,是否可以在 linux 上开发应用程序并将 macos 作为“编译服务器”?我根本不喜欢使用 macOS,但我想使用 Flutter 为 android 和 ios 创建移动应用程序。

标签: mobile dart virtual-machine flutter


【解决方案1】:

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

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

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

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

【讨论】:

  • 换句话说,,你不能没有Mac,但是有一些服务可以让你使用别人其他人的 Mac。
  • @Mud,你可以在没有 Mac 的情况下开发 Flutter 应用程序,但你不能部署到 iOS。
  • 对,我句子中的代词“it”指的是“build/deploy”。
  • @Suragch blog.codemagic.io/… 此链接另有说明。
  • @BlitzMee,感谢您的链接。我将其添加到答案中。这篇文章不同意我回答的哪个方面?现在可以在虚拟模拟器上测试应用了吗?
【解决方案2】:

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

要开发适用于 iOS 的 Flutter 应用,您需要一台装有 Xcode 7.2 或更高版本的 Mac。

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

【讨论】:

    【解决方案3】:

    您应该查看像 MacInCloud 这样的 MacOS 云解决方案。有支持它的 CI/CD 解决方案(例如 CircleCIBitRise)但是这些不适合开发。

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

    【讨论】:

      【解决方案4】:

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

      【讨论】:

      • 但不是开发iOS应用。您在 Windows 上使用 Flutter 开发的应用程序可能在 iOS 上运行,但您不能在 Windows 上将其作为 iOS 应用程序运行(例如使用模拟器)或将其部署到 Apple 应用程序商店,至少据我所知。
      • 你是对的!这意味着现在有一个初创公司可以在远程服务器上构建您的 Flutter 应用程序,然后发布到市场 à la Cordova。
      【解决方案5】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-07-07
        • 1970-01-01
        • 1970-01-01
        • 2020-06-22
        • 1970-01-01
        • 2014-05-09
        • 1970-01-01
        相关资源
        最近更新 更多