4 как компилировать приложения для ios с помощью mac os из Visual Studio

Обновлено: 03.07.2024

Вы когда-нибудь задумывались о разработке мобильного приложения iOS для Windows?

Скорее всего, ответ будет большим НЕТ, однако времена изменились, и давайте узнаем, как разработать приложение iOS для Windows.

Основной проблемой, которая удерживает вас от разработки приложений iOS в Windows, является Xcode, интегрированная среда разработки (IDE), которую мы используем для проектирования и разработки приложений iOS.

Xcode включает быстрый компилятор, конструктор интерфейса и другие необходимые инструменты для загрузки вашего приложения в магазин приложений.

Теперь Xcode содержит все необходимое для создания приложения iOS.

Единственная проблема заключается в том, что он совместим только с Mac OS X (теперь называется Mac OS).

Еще одна проблема заключается в том, что вы не можете купить компьютер с Mac OS, потому что, в отличие от Windows, Apple не позволяет вам лицензировать свою ОС у других производителей.

Когда вы покупаете OS X, вы можете лицензировать запуск этой ОС только на оборудовании Apple.

Это ограничивает вас в разработке приложений, которые работают только на Mac.

Оглавление

8 лучших способов разработки приложения iOS на ПК с Windows

1. Используйте Virtualbox и установите Mac OS на ПК с Windows

Самый быстрый способ разработки приложений iOS для Windows — это использование виртуальной машины.

Виртуальная машина создает среду, в которой любая операционная система может работать так же, как если бы она работала на том же оборудовании.

Эта функция называется виртуализацией, поскольку позволяет запускать Windows в Linux и даже Windows в OS X.

Чтобы запустить Mac OS на виртуальной машине, вам нужны две вещи:

• Копия OS X в виде файла виртуального образа или установщика.

• Инструмент виртуальной машины, такой как VirtualBox или VMWare.

Вы можете получить копию OS X, загрузив ее из App Store.

Вы также можете найти установщики из разных источников в Интернете.

Помните, что использование Mac OS на оборудовании стороннего производителя противоречит Лицензионному соглашению Apple с конечным пользователем (EULA).

2. Аренда Mac в облаке

Значительно проще получить в свои руки OS X, арендовав Mac в облаке, хотя это будет намного дороже.

Такие сервисы, как Mac-in-Cloud и Mac-Stadium, предлагают доступные продукты для аренды Mac.

Вы можете подключиться к этим облачным компьютерам Mac с помощью подключения к удаленному рабочему столу (RDP).

Windows предоставляет стандартный удаленный рабочий стол, который вы можете использовать, как и большинство ОС Linux.

После входа в систему вы можете установить Xcode и службы разработки приложений для iOS.

3. Создайте свой собственный «Хакинтош»

Самый очевидный выбор услуг по разработке приложений для iOS на ПК с Windows — это установка OS X на ПК с Windows.

Поклонникам Apple всегда нравились интегрированный пользовательский интерфейс, дизайн и возможности подключения, которые предлагает технический гигант.

Хакинтош — это компьютер с операционной системой Mac OS. Это то же самое, что и установка OS X на виртуальную машину, вы также можете установить OS X как загрузочную ОС на свой ПК.

4. Создавайте приложения iOS для Windows с помощью кроссплатформенных инструментов

Межплатформенные инструменты — это прекрасно: вы пишете свое приложение один раз и экспортируете его на iOS и Android.

Это может вдвое сократить время и стоимость разработки вашего приложения.

Несколько кроссплатформенных инструментов позволяют создавать приложения iOS на ПК с Windows или компилировать приложение, если в вашей сети есть компьютер Mac.

Часто звучащий аргумент против кроссплатформенных инструментов разработки приложений заключается в том, что они предлагают ограниченный доступ к оборудованию смартфона и поддержку для него, а также менее «интеллектуальны», чем их аналоги.

Помните, что любой кроссплатформенный инструмент предполагает, что в определенный момент вы будете составлять код для конкретной платформы, особенно если вам нужно кодировать пользовательские функции.

5. Код с песочницей Swift

Swift — это язык с открытым исходным кодом, что означает, что его можно эффективно запускать на любом оборудовании.

Swift — это язык с открытым исходным кодом, что означает, что его можно эффективно запускать на любом оборудовании.

Соответственно, вы также можете запустить его в своем браузере, если язык перенесен в Chrome, Safari или Firefox.

Вы можете изучать Swift и программировать на нем, не используя Mac или XCode, используя Swift Sandbox.

После того как вы запустите код в тестовой среде Swift, он отправит код на веб-сервер. Веб-сервер скомпилирует код и вернет результат.

Соответственно, вы также можете запустить его в своем браузере, если язык перенесен в Chrome, Safari или Firefox.

6. Используйте Unity3D

Мощная интегрированная среда разработки Unity известна как механизм разработки игр, который можно использовать на Android, iOS, Windows и многих других платформах.

Однако быстрая разработка и мощные функции также делают его хорошим выбором для создания неигровых приложений.

Функция Unity Cloud Build поддерживает разработку iOS для Windows простыми шагами.

Зарегистрировавшись в качестве разработчика Apple и присоединившись к сборке Unity Cloud, вы сможете легко настраивать, создавать и создавать проекты для iOS.

Благодаря бесплатному редактору для разработки и распространения можно полностью создать приложение для iOS в Windows.

Для компиляции проекта вам нужен только Mac!

7. С гибридной платформой Xamarin

Более дешевый вариант, чем Cloud Mac, гибридные платформы обеспечивают экономичное решение или разработку iOS для Windows.

Xamarin — это надежный выбор большинства разработчиков, утверждающих, что он обеспечивает реальный исходный код.

Единственное, что вы не можете сделать в Windows и вам нужен Mac, — это отправить приложение в магазин приложений.

8. В родной среде React

React Native – это кроссплатформенный инструмент, основанный на Javascript, который широко используется для разработки iOS в Windows.

Он имеет несколько исключительных функций и прост в освоении, что делает его популярным инструментом среди разработчиков.

Используя эмулятор Android и настроив машины для развертывания Mac OS, можно разработать приложение iOS в Windows.

Чтобы увидеть результаты, вы можете использовать симулятор Expo, который доступен как для Android, так и для iOS.

Заключение

Если вы хотели начать сборку на iOS, но вас останавливала недоступность Mac OS, то эти альтернативы — именно то, что вам нужно.

Хотя это может быть немного сложнее, чем непосредственное создание на Mac, они являются проверенными альтернативами разработчиками по всему миру.

В конце концов, разработка приложений для iOS сводится к знакомству с Xcode.

После того, как вы освоитесь, вы сможете разработать свое приложение с помощью упомянутых выше инструментов, которые помогут вам начать работу на правильном пути.

Демир — разработчик и менеджер проектов с более чем 15-летним профессиональным опытом работы в различных областях разработки программного обеспечения.

Давным-давно существовала компания, у которой были все лучшие инструменты, и писать программное обеспечение для их платформы было потрясающе. Но постепенно они стали безразличны к собственным проблемам. Они не встревожились, когда их системы вышли из строя, а скорее приняли это состояние вселенной как факт жизни. Они считали, что их программы совершенны сами по себе, безмятежны и элегантны, а их цель очевидна.

О боже, если бы они только знали, как ошибались…

Настало время, когда они осознали свои ошибки, и их генеральный директор заплакал, чтобы вернуть всех разработчиков, которые покинули свою платформу и уплыли. Компания была Microsoft, и я, например, был убежден, что их судьба решена и что они медленно, но верно исчезнут с передовой технологического ландшафта.

Я так счастлив, что ошибся!

Верно, настоящая Microsoft IDE не для Windows, а для Mac. Представьте себе это!

Первое, что вам нужно сделать, это выбрать шаблон приложения. Начнем с простого «приложения с одним просмотром».

После ввода имени пакета и начальной загрузки приложения Visual Studio создаст решение с тремя проектами. Первый проект будет общей библиотекой, в которой вы должны хранить независимый от платформы код, а два других будут приложениями для Android и iOS.

Для запуска приложения можно использовать меню "Выполнить" или команды на панели приложений.

Поздравляем! Теперь вы разработчик iOS и Android, несмотря на то, что вы никогда не писали ни строчки кода на Objective-C, Swift или Java.

Однако мы еще не многого добились с нашим приложением. Давайте сделаем вещи более интересными и добавим карты и сервисы определения местоположения.

Использование карт и служб определения местоположения

Имейте в виду, что VS для Mac все еще находится в стадии «Предварительной версии», и вы не найдете много помощи и документации по его использованию. Лучшим местом для получения информации о том, как что-то делать, по-прежнему является официальная документация Xamarin.

Visual Studio для Mac не использует то же решение и структуру приложения, что и инструменты Xamarin, которые вы могли видеть на ПК. В большинстве случаев вам нужно будет поэкспериментировать и обойти несколько препятствий, чтобы заставить их примеры работать. Будем надеяться, что Microsoft останется на высоте и предоставит потрясающую коллекцию ресурсов MSDN после выпуска финальной версии VS для Mac.

Отображение текущего местоположения на iOS

Для доступа к ресурсам мобильного устройства, таким как текущее местоположение, пользователи должны «вручную» предоставить вашему приложению разрешения на использование этих ресурсов. iOS использует файл info.plist для хранения этих настроек. VS для Mac предоставляет визуальный интерфейс для редактирования этого файла. Первое, что нам нужно сделать, это добавить значение для параметра с именем NSLocationWhenInUseUsageDescription .

Примечание: VS будет отображать длинное имя для «NSLocationWhenInUseUsageDescription», когда вы задаете имя свойства. Это ожидаемо, и не беспокойтесь об этом.

Наше загрузочное приложение было создано с помощью простой кнопки, которая подсчитывала клики.Первое, что вам нужно сделать, это удалить его и заменить содержимое экрана картой. Для этого найдите файл Main.storyboard в обозревателе решений и дважды щелкните его, чтобы открыть в редакторе.

Раскадровка — это визуальное представление пользовательского интерфейса приложения, показывающее экраны контента и связи между этими экранами. Раскадровка состоит из последовательности сцен, каждая из которых представляет контроллер представления и его представления; сцены связаны переходными объектами, которые представляют собой переход между двумя контроллерами представления.

Раскадровки представлены Apple, а также приняты Xamarin. Дополнительные сведения см. в документации Apple или документации Xamarin.

Удалите кнопку и добавьте на страницу компонент представления карты.

Убедитесь, что вы правильно назвали свой компонент «mapView».

Теперь осталось только очистить файл ViewController.cs и изменить метод ViewDidLoad(), чтобы он соответствовал следующему:

Вы можете использовать функцию "Быстрое исправление", чтобы VS автоматически добавила ссылку на библиотеку CoreLocation, или вы можете добавить ее вручную.

После запуска приложения для iOS вы должны увидеть запрос на доступ к вашему местоположению. Как только разрешение будет предоставлено, ваша карта загрузится со стандартной синей точкой, показывающей, где вы находитесь (или где вы притворяетесь, используя симулятор iOS :)).

Отображение текущего местоположения на Android

К сожалению, Google и Microsoft решили немного усложнить эту простую задачу по сравнению с iOS. Чтобы использовать карты в приложении для Android, вам потребуется создать ключ Google Maps API и добавить его в файл AndroidManifest.xml.

Ребята из Xamarin создали довольно простое руководство по получению ключа Google Maps API. Пожалуйста, следуйте инструкциям в их руководстве, прежде чем продолжить. Когда вы закончите, ваш AndroidManifest.xml должен содержать следующий параметр:

Теперь вы готовы добавить карту в свое приложение.

Самое замечательное в VS для Mac то, что оно работает на NuGet, как и его старший брат. Поскольку библиотеки обработки карт не включены по умолчанию, вам потребуется установить пакет Xamarin.Forms.Maps.

Однако нет компонента «Просмотр карты», который можно было бы просто перетащить в «Действие». Вместо этого для добавления карты на экран требуется вручную изменить файл Resources->layout->Main.axml. Вы можете использовать представление дизайнера, чтобы удалить кнопку, созданную ранее, но затем переключиться на «Просмотр кода» и добавить следующий код фрагмента в ваш LinearLayout :

Как и в случае с iOS, вам потребуется настроить приложение так, чтобы оно запрашивало соответствующие разрешения. Для этого откройте AndroidManifest.xml для редактирования и нажмите кнопку «Приложение» в нижней левой части редактора. VS покажет вам визуальный интерфейс для установки этих значений. Вам нужно включить некоторые из них, как показано ниже.

Пришло время написать настоящий код. Найдите файл MainActivity.cs, откройте его для редактирования и внесите следующие изменения:

Добавить ссылки на пространство имен:

Добавьте следующие две переменные в качестве переменных уровня класса:

И очистите метод OnCreate(), чтобы он выглядел следующим образом:

При вызове GetSystemService из метода OnCreate() ваша MainActivity будет активирована как ILocationListener и, таким образом, сможет обрабатывать все перечисленные выше события.

Запустите приложение для Android, и вы должны установить карту в соответствии с вашим местоположением, как показано на следующем рисунке.

Использование общих библиотек для iOS и Android

Одной из замечательных особенностей VS для Mac является возможность совместного использования кода приложениями iOS и Android. В идеале мы могли бы разместить всю бизнес-логику приложения в общей библиотеке, ограничив любой специфичный для iOS и Android код частью пользовательского интерфейса.

Создайте новый файл класса в общей библиотеке с именем RestClient.cs со следующим кодом:

(Убедитесь, что вы используете правильное пространство имен из вашего проекта)

Использование библиотеки на iOS

Измените файл ViewController.cs в проекте iOS, чтобы он соответствовал следующему коду:

(Убедитесь, что вы используете правильное пространство имен из вашего проекта)

Запустите приложение для iOS, нажмите кнопку и перейдите на вкладку «Вывод приложения» в Visual Studio. Это должно выглядеть примерно так:

Использование библиотеки на Android

Изменения, необходимые для приложения Android, очень похожи на изменения, необходимые для iOS. Измените файл MainActivity.cs, чтобы он соответствовал следующему:

(Убедитесь, что вы используете правильное пространство имен из вашего проекта)

У Swift и Java/JVM появился новый и очень сильный конкурент в борьбе за наши среды разработки для мобильных устройств.

Жаль, что я не знал об этом, когда только начинал, потому что я отложил себя на 3 года, прежде чем стиснуть зубы и купить Mac.

Если бы я знал о запуске Xcode в Windows или о приведенных ниже решениях, возможно, я начал бы создавать приложения для iPhone намного раньше!

Аренда Mac

Прежде чем покупать новый Mac, вы можете взять его напрокат для разработки. Вы получите удаленный доступ к Mac и Xcode через свой ПК.

Это будет похоже на рабочий стол Mac в окне рабочего стола Windows.

Преимуществом этого варианта является то, что стоимость действительно низкая, и это самый быстрый способ начать работу.

Если вы решите, что разработка приложений вам не подходит, просто отмените подписку.

<р>1. MacStadium
Эти ребята были представлены на недавней презентации Apple, когда они представили обновленный Mac Mini! У них есть новейшие компьютеры Mac.

(Используйте код купона «CODEWITHCHRIS», чтобы получить скидку 50% на первый месяц. Если вы это сделаете, сообщите мне об этом в комментариях ниже. Я верну вам небольшую компенсацию без каких-либо дополнительных затрат, поэтому спасибо за поддержку мой сайт!)

Если вы выберете этот путь для разработки приложений для iOS, обязательно получите мою памятку по Xcode со ссылками и сочетаниями клавиш для пользователей Windows.

Эту услугу предоставляют еще несколько компаний:

<р>2. MacInCloud
Это самый известный сервис из трех. Вам не нужно будет устанавливать Xcode, потому что он уже предустановлен. Вы также можете платить по мере использования, так что это довольно низкое обязательство. Некоторые люди жалуются, что это медленно, но вы можете попробовать сами, так как это всего около доллара в час!

<р>3. XcodeClub
XcodeClub управляется Даниэлем, который сам является страстным разработчиком. Судя по отзывам, обслуживание быстрое и дружелюбное. Цены менее гибкие, чем у MacInCloud, и вам придется выделить как минимум месяц.

Виртуализировать MacOS

Если вы немного более технически подкованы, вы можете использовать программное обеспечение для виртуализации и запустить «виртуальный Mac» на своем ПК.

Вышеуказанные сервисы, по сути, делают то же самое на своих серверах, а затем взимают плату за доступ к виртуальной машине.

Установив его самостоятельно на своем ПК, вы, по сути, исключили из уравнения посредника.

К сожалению, для того, чтобы все это запустить, требуются определенные технические знания.

Двумя наиболее популярными программами для виртуализации являются VirtualBox и VMWare Workstation.

Вы можете загрузить их ниже, а затем использовать Google, чтобы найти руководство по установке последней версии MacOS (Mojave) с помощью VirtualBox или VMWare Workstation.

После этого запустите свой новый виртуальный Mac и загрузите Xcode. Это максимально близко к запуску настоящего Xcode в Windows!

<р>4. VirtualBox
VirtualBox — это программное обеспечение с открытым исходным кодом, что означает, что оно бесплатно. Это, вероятно, объясняет, почему она намного популярнее, чем VMWare Workstation, когда дело доходит до запуска MacOS на вашем компьютере с Windows!

<р>5. VMWare Workstation
К сожалению, вам придется заплатить за это программное обеспечение, и на момент написания этой статьи лицензия стоила примерно половину цены нового Mac Mini, который идеально подходит для разработки приложений для iOS. Я бы порекомендовал вам сначала попробовать VirtualBox или попытаться купить подержанный Mac Mini.

Создайте «Хакинтош»

Вы также можете собрать «Хакинтош», который представляет собой ПК, настроенный для работы с MacOS.

Это требует наибольших усилий из всех представленных вариантов, но может сработать для тех, кто хочет отдельный физический компьютер с MacOS.

<р>7. Hackintosh Subreddit
Мне нравится искать сообщества Reddit по всему, что меня интересует, потому что там всегда происходят интересные разговоры. Reddit предоставляет возможность вести диалог с единомышленниками, получать помощь и помогать другим!

Сторонние решения

Наконец, существует множество сторонних решений, которые можно использовать для разработки iOS в Windows.

Вы не будете использовать Xcode в этих решениях, но сможете создать приложение, которое будет работать на устройствах iOS.

Познакомьтесь с этими замечательными альтернативами Xcode:

<р>9. React Native
Используйте JavaScript для создания нативных мобильных приложений.

<р>11. Appcelerator
Создавайте нативные мобильные приложения с помощью JavaScript.

<р>12. PhoneGap
Создавайте гибридные кроссплатформенные мобильные приложения с использованием HTML, CSS и JavaScript.

В этом руководстве представлено пошаговое руководство по выпуску приложения Flutter в App Store и TestFlight.

Подготовка

Xcode необходим для сборки и выпуска вашего приложения. Чтобы следовать этому руководству, вы должны использовать устройство под управлением macOS.

Прежде чем приступить к выпуску приложения, убедитесь, что оно соответствует рекомендациям Apple по проверке приложений.

Чтобы опубликовать свое приложение в App Store, вы должны сначала зарегистрироваться в программе Apple Developer Program. Вы можете узнать больше о различных вариантах членства в руководстве Apple по выбору членства.

Зарегистрируйте свое приложение в App Store Connect

Управляйте жизненным циклом своего приложения в App Store Connect (ранее iTunes Connect).Вы определяете имя и описание своего приложения, добавляете скриншоты, устанавливаете цены и управляете выпусками в App Store и TestFlight.

Регистрация вашего приложения состоит из двух шагов: регистрация уникального идентификатора пакета и создание записи приложения в App Store Connect.

Подробный обзор App Store Connect см. в руководстве по App Store Connect.

Зарегистрируйте идентификатор пакета

Каждое приложение iOS связано с Bundle ID — уникальным идентификатором, зарегистрированным в Apple. Чтобы зарегистрировать Bundle ID для своего приложения, выполните следующие действия:

  1. Откройте страницу идентификаторов приложений в своем аккаунте разработчика.
  2. Нажмите +, чтобы создать новый идентификатор пакета.
  3. Введите название приложения, выберите Явный идентификатор приложения и введите идентификатор.
  4. Выберите службы, которые использует ваше приложение, и нажмите "Продолжить".
  5. На следующей странице подтвердите данные и нажмите «Зарегистрироваться», чтобы зарегистрировать идентификатор пакета.

Создайте запись приложения в App Store Connect

Зарегистрируйте свое приложение в App Store Connect:

  1. Откройте App Store Connect в браузере.
  2. На целевой странице App Store Connect нажмите Мои приложения.
  3. Нажмите + в левом верхнем углу страницы "Мои приложения", затем выберите "Новое приложение".
  4. Заполните данные своего приложения в появившейся форме. В разделе «Платформы» убедитесь, что iOS отмечена. Поскольку Flutter в настоящее время не поддерживает tvOS, оставьте этот флажок снятым. Нажмите "Создать".
  5. Перейдите к сведениям о своем приложении и выберите «Информация о приложении» на боковой панели.
  6. В разделе «Общая информация» выберите идентификатор пакета, который вы зарегистрировали на предыдущем шаге.

Подробный обзор см. в разделе Добавление приложения в аккаунт.

Просмотр настроек проекта Xcode

Этот шаг охватывает просмотр наиболее важных параметров в рабочей области Xcode. Подробные процедуры и описания см. в разделе Подготовка к распространению приложения.

Перейдите к настройкам цели в Xcode:

  1. В Xcode откройте Runner.xcworkspace в папке iOS вашего приложения.
  2. Чтобы просмотреть настройки приложения, выберите проект Runner в навигаторе проектов Xcode. Затем на боковой панели основного вида выберите цель Runner.
  3. Выберите вкладку "Общие".

Проверьте наиболее важные настройки.

В разделе "Идентификация":

Отображаемое имя Отображаемое имя вашего приложения. Bundle Identifier Идентификатор приложения, который вы зарегистрировали в App Store Connect.

В разделе "Подписание и возможности":

Автоматическое управление подписанием Должен ли Xcode автоматически управлять подписанием и подготовкой приложений. По умолчанию установлено значение true, чего должно быть достаточно для большинства приложений. Более сложные сценарии см. в Руководстве по подписанию кода. Команда Выберите команду, связанную с вашей зарегистрированной учетной записью разработчика Apple. При необходимости выберите Добавить учетную запись…, а затем обновите этот параметр.

В разделе "Настройки сборки":

Цель развертывания iOS Минимальная версия iOS, которую поддерживает ваше приложение. Flutter поддерживает iOS 9.0 и более поздние версии. Если ваше приложение или подключаемые модули содержат код Objective-C или Swift, который использует API более новой версии, чем iOS 9, обновите этот параметр до самой высокой требуемой версии.

Вкладка «Общие» настроек вашего проекта должна выглядеть следующим образом:

Настройки проекта Xcode

Обновление версии развертывания приложения

Если вы изменили цель развертывания в своем проекте Xcode, откройте ios/Flutter/AppframeworkInfo.plist в своем приложении Flutter и обновите значение MinimumOSVersion, чтобы оно совпадало.

Обновление номера версии приложения

Номер версии приложения по умолчанию — 1.0.0 . Чтобы обновить его, перейдите к файлу pubspec.yaml и обновите следующую строку:

Номер версии — это три числа, разделенные точками, например 1.0.0 в приведенном выше примере, за которыми следует необязательный номер сборки, например 1 в приведенном выше примере, разделенный знаком +.

В сборке Flutter можно переопределить и версию, и номер сборки, указав --build-name и --build-number соответственно.

В iOS для имени сборки используется CFBundleShortVersionString, а для номера сборки — CFBundleVersion. Подробнее об управлении версиями iOS читайте в Core Foundation Keys на сайте Apple Developer.

Добавить значок приложения

При создании нового приложения Flutter создается набор значков-заполнителей. Этот шаг охватывает замену этих значков-заполнителей значками вашего приложения:

  1. Ознакомьтесь с рекомендациями по использованию значков приложений для iOS.
  2. В навигаторе проекта Xcode выберите Assets.xcassets в папке Runner. Обновите значки заполнителей собственными значками приложений.
  3. Убедитесь, что значок был заменен, запустив приложение с помощью команды flutter run .

Создать архив сборки с помощью Xcode

Этот шаг охватывает создание архива сборки и загрузку сборки в App Store Connect.

Во время разработки вы создавали, отлаживали и тестировали сборки с отладкой. Когда вы будете готовы отправить свое приложение пользователям в App Store или TestFlight, вам нужно подготовить сборку выпуска. На этом этапе вы можете подумать об обфускации своего кода Dart, чтобы затруднить обратный инжиниринг. Обфускация вашего кода включает в себя добавление пары флагов в вашу команду сборки.

В Xcode настройте версию приложения и выполните сборку:

  1. В Xcode откройте Runner.xcworkspace в папке iOS вашего приложения.
  2. Выберите Runner в навигаторе проекта Xcode, затем выберите цель Runner на боковой панели просмотра настроек.
  3. В разделе «Идентификация» обновите версию до номера версии для пользователей, который вы хотите опубликовать.
  4. В разделе «Идентификация» измените идентификатор сборки на уникальный номер сборки, используемый для отслеживания этой сборки в App Store Connect. Для каждой загрузки требуется уникальный номер сборки.

Наконец, создайте архив сборки и загрузите его в App Store Connect:

Запустите flutter build ipa, чтобы создать архив сборки.

Примечание. В версиях Flutter, в которых ipa сборки flutter недоступен, откройте Xcode и выберите «Продукт» > «Архив». На боковой панели окна Xcode Organizer выберите свое приложение для iOS, а затем выберите только что созданный архив сборки.

Откройте build/ios/archive/MyApp.xcarchive в Xcode.

Нажмите кнопку "Проверить приложение". Если сообщается о каких-либо проблемах, устраните их и создайте другую сборку. Вы можете повторно использовать один и тот же идентификатор сборки, пока не загрузите архив.

После успешной проверки архива нажмите «Распространить приложение». Вы можете следить за статусом своей сборки на вкладке «Действия» на странице сведений о вашем приложении в App Store Connect.

Примечание. Когда вы экспортируете свое приложение в конце действия «Распространить приложение», Xcode создаст каталог, содержащий IPA вашего приложения и файл ExportOptions.plist. Вы можете создавать новые IPA с теми же параметрами без запуска Xcode, запустив flutter build ipa --export-options-plist=path/to/ExportOptions.plist . См. xcodebuild -h для получения подробной информации о ключах в этом списке свойств.

В течение 30 минут вы получите электронное письмо с уведомлением о том, что ваша сборка проверена и доступна для выпуска тестировщиками в TestFlight. На этом этапе вы можете выбрать, выпустить ли приложение в TestFlight или продолжить и выпустить свое приложение в App Store.

Создайте архив сборки с помощью инструментов Codemagic CLI

Этот шаг охватывает создание архива сборки и загрузку сборки в App Store Connect с помощью команд сборки Flutter и инструментов CLI Codemagic, выполняемых в терминале в каталоге проекта Flutter. Это позволяет создать архив сборки с полным контролем над сертификатами распространения во временной цепочке ключей, изолированной от цепочки ключей входа в систему.

Установите инструменты Codemagic CLI:

Вам потребуется сгенерировать ключ API App Store Connect с доступом к App Manager, чтобы автоматизировать операции с App Store Connect. Чтобы сделать последующие команды более лаконичными, задайте следующие переменные среды из нового ключа: идентификатор эмитента, идентификатор ключа и файл ключа API.

Необходимо экспортировать или создать сертификат распространения iOS, чтобы подписать код и упаковать архив сборки.

Если у вас есть существующие сертификаты, вы можете экспортировать закрытые ключи, выполнив следующую команду для каждого сертификата:

Или вы можете создать новый закрытый ключ, выполнив следующую команду:

Позже вы можете использовать инструменты командной строки для автоматического создания нового дистрибутива iOS из закрытого ключа.

Настройте новую временную связку ключей, которая будет использоваться для подписи кода:

Восстановить связку ключей входа! После инициализации связки ключей необходимо выполнить следующее:

При этом ваша цепочка ключей для входа будет использоваться по умолчанию, чтобы избежать потенциальных проблем с проверкой подлинности в приложениях на вашем компьютере.

Загрузить файлы подписи кода из App Store Connect:

Где cert_key — это закрытый ключ экспортированного сертификата распространения iOS или новый закрытый ключ, который автоматически создает новый сертификат. Сертификат будет создан из закрытого ключа, если его нет в App Store Connect.

Теперь добавьте полученные сертификаты в цепочку для ключей:

Обновите настройки проекта Xcode, чтобы использовать извлеченные профили подписи кода:

Установите зависимости Flutter:

Установите зависимости CocoaPods:

Создайте проект Flutter для iOS:

Обратите внимание, что файл export_options.plist является результатом команды xcode-project use-profiles.

Опубликовать приложение в App Store Connect:

Как упоминалось ранее, не забудьте установить связку ключей для входа по умолчанию, чтобы избежать проблем с аутентификацией в приложениях на вашем компьютере:

В течение 30 минут вы получите электронное письмо с уведомлением о том, что ваша сборка проверена и доступна для выпуска тестировщиками в TestFlight. На этом этапе вы можете выбрать, выпустить ли приложение в TestFlight или продолжить и выпустить свое приложение в App Store.

Выпустите свое приложение на TestFlight

TestFlight позволяет разработчикам отправлять свои приложения внутренним и внешним тестировщикам. Этот необязательный шаг охватывает выпуск вашей сборки в TestFlight.

  1. Перейдите на вкладку TestFlight на странице сведений о приложении в App Store Connect.
  2. Выберите «Внутреннее тестирование» на боковой панели.
  3. Выберите сборку, которую хотите опубликовать для тестировщиков, и нажмите "Сохранить".
  4. Добавьте адреса электронной почты всех внутренних тестировщиков. Вы можете добавить дополнительных внутренних пользователей на странице «Пользователи и роли» в App Store Connect, которая доступна в раскрывающемся меню в верхней части страницы.

Выпустите свое приложение в App Store

  1. Выберите «Цены и доступность» на боковой панели страницы сведений о вашем приложении в App Store Connect и введите необходимую информацию.
  2. Выберите статус на боковой панели. Если это первый выпуск этого приложения, его статус — 1.0 «Подготовка к отправке». Заполните все обязательные поля.
  3. Нажмите "Отправить на проверку".

Apple уведомляет вас, когда процесс проверки приложения завершен. Ваше приложение выпущено в соответствии с инструкциями, указанными в разделе «Выпуск версии».

Устранение неполадок

Руководство по распространению приложения содержит подробный обзор процесса выпуска приложения в App Store.

Если не указано иное, эта работа распространяется под лицензией Creative Commons Attribution 4.0 International License, а образцы кода распространяются под лицензией BSD.

Читайте также: