Разработка для устройства iOS в среде Windows с Flutter
Я новичок во Флаттере, просто интересно, если это возможно.
Я попытался создать демонстрационный код, используя intellij с данной инструкцией (https://flutter.io/setup/). Он хорошо работает на устройстве Android, но не может найти вариант для компиляции и запуска на моем устройстве iOS.
Ответы
Ответ 1
Вы можете сделать свою основную разработку под Linux или Windows с помощью Android Studio или Visual Studio Code. Затем используйте git для перемещения кода в macOS, чтобы протестировать его с Xcode на симуляторе/устройстве iOS и развернуть в App Store.
Вы можете сделать всю разработку под macOS, но вы не можете делать всю разработку под Linux или Windows. Я не слишком доволен Apple, которая делает машины с завышенными ценами, а затем заставляет нас покупать их. Поскольку я не могу позволить себе быстрый компьютер Apple, я планирую сделать большую часть своей разработки для Linux, а затем просто провести тестирование и развертывание на моем мучительно медленном Mac Mini.
Обновление
Кажется, сейчас есть больше возможностей. Прочитайте следующие статьи:
Лично я закончил тем, что купил MacBook Pro за слишком много денег. Я должен признать, что это удобно, но я сделал очень мало до этого момента, который действительно требовал этого. Я занимаюсь изучением и разработкой в Android Studio и обычно использую эмулятор Android. Время от времени я запускаю симулятор iOS, но мне это не нужно.
Я советую продолжать использовать вашу текущую систему (Windows или Linux) до тех пор, пока вы учитесь и даже во время разработки ваших первых приложений Flutter. В конце концов вы можете по достоинству оценить удобство симулятора iOS и Xcode на одной машине, но, конечно, спешить не придется.
Ответ 2
Вы можете сделать это с Mac (или Hackintosh, или VM), но поскольку у нас нет доступа к машине MacOS, мы можем использовать ее удаленно через Codemagic или Travis CI - полностью бесплатно! (пока ваш проект находится в GitHub, Bitbucket или GitLab-репозитории).
Сначала создайте учетную запись или войдите в codemagic.io.
Затем нажмите значок настроек (шестеренка) рядом с вашим приложением. Прокрутите вниз и нажмите "Построить". Убедитесь, что Mode установлен на Debug, и выберите iOS в разделе Build для платформ.
После этого соберите приложение (Запустите вашу первую сборку).
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
Подробнее
Ответ 3
Apple сделала компиляцию iOS-приложений исключительно доступной для macOS.
Вы можете прочитать этот ответ и тему, чтобы найти обходные пути для его работы в Windows.
По сути, у Flutter нет другого пути, но Xamarin и NativeScript поддерживают его.
Ответ 4
Вы можете прочитать эту статью
он использует некоторые инструменты и codemagic для создания приложения Flutter для Ios.
- поместите свое приложение на GitHub (общедоступное) и предоставьте доступ к codemagic
- тогда вы должны построить свое приложение, используя магию кода для IOS.
- тогда вы должны использовать Cydia Impactor для подписания файла, который вам отправил CodeMagic
- подготовьте свой Windows-компьютер, установив libimobiledevice, ideviceinstaller, который.
- Измените код Flutter, чтобы не искать Xcode
- Запуск и отладка
Я использовал этот метод, он отлично работает, вы можете выполнить горячую перезагрузку и отладку приложения. Недостатком является то, что вы должны ввести пароль Apple ID в Cydia Impactor, который обязательно должен использовать второй идентификатор Apple, а после истечения срока действия профиля обеспечения Apple вы должны подписать свой код с Cydia Impactor снова. но это намного дешевле, чем на Mac или в аренду.
Ответ 5
Я предлагаю вам использовать виртуальную машину, чтобы сделать свое дело... У меня на Windows 10 был установлен Mac OS Mojave, и у меня все работало гладко!
Изображение Мохаве можно получить из https://getintopc.com/softwares/operating-systems/mac-os-mojave-10-14-1-vmware-image-free-download/
Я нашел это полезным, так как у меня были некоторые вещи, которые я хотел из мира Mac, в то время как у меня была просторная широта.