我是Flutter的新手,只是想知道是否有可能。
我尝试使用带给定指令(https://flutter.io/setup/)的intellij构建演示代码。它在android设备上运行良好,但找不到在iOS设备上编译和运行的选项。
我是Flutter的新手,只是想知道是否有可能。
我尝试使用带给定指令(https://flutter.io/setup/)的intellij构建演示代码。它在android设备上运行良好,但找不到在iOS设备上编译和运行的选项。
Answers:
您可以使用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 Simulator和Xcode安装在同一台计算机上的便利,但是肯定不会着急。
您可以使用Mac(或Hackintosh或VM)来执行此操作,但是由于我们无法访问macOS机器,因此可以通过Codemagic或Travis 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
我建议您使用虚拟机来执行操作。.我在Windows 10上安装了Mojave MacOS,并且运行顺利!
可以从https://getintopc.com/softwares/operating-systems/mac-os-mojave-10-14-1-vmware-image-free-download/获取Mojave映像
我发现这很有用,因为当我有戴尔自由度时,有一些我想离开Mac世界的东西。
苹果已经使macOS只能使用iOS应用程序的编译。
您可以阅读此答案和主题以查找变通办法,以使其在Windows上正常工作。
基本上,Flutter没有其他方法,但是Xamarin和NativeScript对此提供了支持。
你可以读这篇文章
它使用一些工具和CodeMagic为Ios构建Flutter应用。
我使用过这种方法,效果很好,您可以热加载和调试应用程序,但缺点是您必须在Cydia Impactor中输入Apple ID密码,以确保您应该使用第二个Apple ID,并且在Apple置备配置文件到期后,您应该对代码进行签名再次与Cydia Impactor合作。但比Mac或租用Mac便宜得多。
提出此问题3年后:
https://aws.amazon.com/about-aws/whats-new/2020/11/announcing-amazon-ec2-mac-instances-for-macos/
AWS现在支持一个需求macOS作为EC2实例。尚未发布,还没有自己测试过,但是希望,它可以代替痛苦的Mac mini,它在没有工作与生活平衡的情况下会更加努力地工作XD