使用Flutter在Windows环境中为iOS设备开发

YYY*_*YYY 26 cross-platform ios flutter

我是Flutter的新手,只是想知道是否可能.

我尝试使用intellij和给定的指令(https://flutter.io/setup/)构建演示代码.它在Android设备上运行良好,但找不到在我的iOS设备上编译和运行的选项.

Sur*_*gch 26

您可以使用Android Studio或Visual Studio Code在Linux或Windows上进行主要开发.然后使用git将代码移动到macOS,在iOS模拟器/设备上使用Xcode对其进行测试,并将其部署到App Store.

您可以在macOS上进行所有开发,但不能在Linux或Windows上进行所有开发.我不太高兴苹果制造价格过高的机器,然后强迫我们购买它们.由于我买不起快速的Apple电脑,我计划在Linux上进行大部分开发,然后在我痛苦的Mac Mini上进行测试和部署.

更新

现在似乎有更多的可能性.阅读以下文章:

就个人而言,我最终以太多的钱买了一台MacBook Pro.我不得不承认它很方便,但到目前为止我做的很少,真的需要它.我正在Android Studio中进行所有学习和开发,并且通常使用Android模拟器.我不时地启动iOS模拟器,但我没有被要求.

我的建议是,只要您正在学习,甚至在开发第一个Flutter应用程序时,就继续使用当前系统(Windows或Linux).最后,您可能会欣赏在同一台机器上安装iOS模拟器和Xcode的便利性,但肯定不会匆忙.

  • 还有一些托管的虚拟mac可用.我正在使用云托管的一个,它非常适合编译.另一种选择是计算机上的虚拟机. (5认同)

ema*_*nga 9

我建议你使用虚拟机来做你的事情..我在我的 Windows 10 上安装了 Mojave MacOS,并且运行顺利!

Mojave 映像可以从https://getintopc.com/softwares/operating-systems/mac-os-mojave-10-14-1-vmware-image-free-download/ 获取

我发现这很有用,因为我有一些我想要离开 Mac 世界的东西,而我有戴尔的纬度。

  • @emanuel_sanga 我可以确认这是可能的。我做到了,没有任何问题。我在 Windows 8.1 上设置了 VMware Workstation 虚拟机并在其中运行 Mojave 映像。然后您必须安装 XCode 并执行所有与 Apple ID 相关的登录步骤。然后你可以插入你的 iPhone(使用你的 Apple ID 登录),它们就可以正常工作了。顺便说一句 - 真实的物理设备似乎是测试通知的唯一方法,因为它们在模拟器上无法正常工作(例如,如果您使用 Firebase) (3认同)

小智 9

3年后,这个问题被问到:

https://aws.amazon.com/about-aws/whats-new/2020/11/announcing-amazon-ec2-mac-instances-for-macos/

AWS 现在支持将一个需求 macOS 作为 EC2 实例。我自己还没有测试过,因为它刚刚发布,但希望它可以取代令人痛苦的小 mac mini,它在工作与生活之间无法平衡 XD


Pay*_*jad 7

您可以在Mac(或Hackintosh或VM)上执行此操作,但是由于我们无权访问macOS机器,因此可以通过CodemagicTravis CI远程使用一台计算机-完全免费!(只要您的项目位于GitHub,Bitbucket或GitLab存储库上)。

首先,创建一个帐户或登录到codemagic.io

然后,点击应用旁边的设置(齿轮)图标。向下滚动并单击“构建”。确保将“模式”设置为“调试”,然后在“构建平台”下选择“ iOS”。

之后,构建应用程序(开始第一个构建)。

Codemagic将通过电子邮件向您发送.app文件。重命名它,使其以.zip结尾。解压缩它,您将得到一个名为Runner.app的文件夹。创建一个名为Payload的文件夹,并将Runner.app放在此处。最后,压缩名为Payload?的文件夹-这将是您的IPA文件(您可以将其重命名为.ipa)。

备选方案:使用Travis CI构建应用程序 您将需要在Travis CI上创建一个帐户,并允许其访问您的GitHub帐户。

然后,在项目的根目录中创建.travis.yml,其内容如下:

 os: osx 
    language: generic 
    before_script: 
     - brew update 
     - brew install --HEAD usbmuxd 
     - brew unlink usbmuxd 
     - brew link usbmuxd 
     - brew install --HEAD libimobiledevice 
     - brew install ideviceinstaller 
     - brew install ios-deploy 
     - git clone https://github.com/flutter/flutter.git -b beta --depth 1 
    script: 
     - flutter/bin/flutter build ios --debug --no-codesign
    cache: 
      directories: 
      - $HOME/.pub-cache
    before_deploy: 
      - pushd build/ios/iphoneos 
      - mkdir Payload 
      - cd Payload 
      - ln -s ../Runner.app 
      - cd .. 
      - zip -r app.ipa Payload 
      - popd
Run Code Online (Sandbox Code Playgroud)

更多信息

  • 是的,但我想在 iOS 上运行它,并在推出之前至少看一下新版本。您不能只在 Android 上进行测试,然后针对 iOS 产品进行构建 (3认同)

cre*_*not 5

Apple 已将 iOS 应用程序的编译专门用于 macOS。

您可以通读此答案和线程,以研究使其在 Windows 上运行的变通方法。

Flutter基本上没有其他方法,但XamarinNativeScript提供了支持。