Сборка игр для устройств, вроде iPhone и iPad требует иного подхода, не такого, как для игр на ПК. В отличие от рынка ПК, ваше целевое оборудование стандартизировано и не такое быстрое или мощное, как компьютер с выделенной видеокартой. Поэтому, вы будете несколько по другому подходить к разработке игр на эти платформы. Функции, доступные в Unity для iOS, также немного отличаются от функций для ПК игр.
You don’t need an Apple Developer account to build to devices; any Apple ID is sufficient for building only to your own device for testing.
Прежде чем вы сможете запускать Unity iOS игры на реальном устройстве, вам понадобится собственный подтверждённый и настроенный аккаунт разработчика Apple (Apple Developer). Это включает учреждение вашей команды, добавление ваших устройств и настройка Provisioning профилей. Все эти установки выполняются через веб-сайт разработчиков Apple. Т.к. это сложный процесс, то мы немного обрисовали цели, которые должны быть выполнены до того, как вы сможете запускать код на ваших iOS устройствах. Однако что лучше всего, так это следовать пошаговой инструкции на портале Apple iPhone разработчиков.
Когда вы собираете Unity iOS игру, генерируется проект XCode. Этот проект необходимо подписать, скомпилировать, а затем подготовить вашу игру к распространению. Для дальнейшей информации см. Unity XCode project.
Unity предоставляет различные API скриптинга, чтобы получить доступ к multi-touch экрану, акселерометру, устройству геолокации и многому другому. Вы можете узнать больше о классах скрипта на странице iOS скриптинга.
Unity позволяет вам вызывать пользовательские нативные функции написанные на C, C++ или Objective-C прямо из C# скриптов. Для информации о том, как привязать нативные функции, посетите страницу Plugins.
Unity iOS приложение позволяет вам скачивать новый контент, и вы можете использовать эту функцию, чтобы реализовать внутриигровые покупки. Для дальнейшей информации см. страницу справки загружаемый контент.
Unity поддерживает функцию occlusion culling, которая полезна для выжимания высокой производительности из сложных сцен с большим количеством объектов. Для дальнейшей информации, см. Occlusion culling.
Как изменить изображение, которое показывает ваша игра во время загрузки, можно узнать на странице Настройка заставки (Splash Screen)
Если у вас происходят падения приложения на iOS устройстве, пожалуйста, изучите на странице Решение проблем на iOS список наиболее часто встречаемых проблем и их решения. Если вы не можете найти там решение, то, пожалуйста, отправьте отчёт об ошибке (меню: в редакторе Unity).
Когда целевая платформа - iOS, динамические типы в JavaScript всегда отключёны в Unity (это эквивалентно автоматическому добавлению #pragma strict
ко всем вашим скриптам). Статичные типы сильно увеличивает производительность, что особенно важно на iOS устройствах. Когда вы переключаете целевую платформу уже существующего проекта Unity на iOS, то у вас будут ошибки компилятора, если вы используете динамические типы. Вы можете с лёгкостью исправить их либо используя точно объявленные типы для переменных, которые вызывают ошибки, либо воспользоваться типом вывода.
Unity supports importing a variety of source format sound files. However when importing these files (with the exception of tracker files), they are always re-encoded to the build target format. By default, this format is Vorbis, though this can be overridden per platform to other formats (ADPCM, MP3 etc) if required. Mp3 playback offers a little better performance on iPhone compared with Vorbis playback.
Unity iOS не поддерживает DXT текстуры. Вместо этого, на устройствах iPhone/iPad нативно поддерживается сжатие текстур PVRTC. Для дополнительной информации о форматах текстур на iOS см. Настройки импорта текстур.
MovieTextures не поддерживаются на iOS. Вместо этого функциями скриптов предоставляется потоковое проигрывание. Чтобы изучить поддерживаемые форматы файлов и API скриптинга см. MovieTexture.