Искать на сайте Unity

Apple iOS 64-bit support in Unity

20 ноября 2014 г. через Технологии | 6 мин. читать
Placeholder image Unity 2
Placeholder image Unity 2
Охваченные темы
Поделиться

Is this article helpful for you?

Thank you for your feedback!

Технологии и аппаратное обеспечение сегодня развиваются очень быстро! Многие из вас уже видели заявление Apple для разработчиков от 20 октября.

С 1 февраля 2015 года новые iOS-приложения, загружаемые в App Store, должны включать 64-битную поддержку, и будут собираться с iOS 8 SDK, включенной в Xcode 6 или более поздней версией. Чтобы обеспечить 64-бит в вашем проекте, мы рекомендуем использовать установку сборки по умолчанию Xcode “Standard architectures”, чтобы собрать один файл и с 32-битным, и 64-битным кодом. 

Итак, что же это значит для вас, разработчиков мобильных приложений? Начиная с февраля, выпускаемые вами игры (и другие приложения) должны будут использовать iOS 8 SDK и новые 64-разрядные ARM чипы в новых iOS устройствах.

Есть и хорошая новость -  мы уже поддерживаем iOS 8 и несколько месяцев трудимся над в созданием решения для 64-битной iOS. Это решение – IL2CPP.

Что такое IL2CPP?

Большинство из вас знают, что мы уже долгое время разрабатываем собственное runtime-решение, IL2CPP. Оно предоставляет больше гибкости как разработчикам, так и Unity. Мы ожидаем серьезное повышение производительности, которая так важна конечным пользователям. Вообщем, оно нам нравится.

IL2CPP возникла, когда мы думали над WebGL, исследуя новые способы сделать постоянную поддержку для различных платформ более эффективной. Runtime сочетает в себе компилятор с виртуальной машиной для преобразования сборки в C ++, используя при этом стандартные для платформы C++ компиляторы для создания бинарных файлов. В результате, игры и приложения работают с нативной скоростью. Это позволяет нам использовать новые основные особенности на всех поддерживаемых платформах, и, в то же время, с гораздо  более эффективным графиком обновлений. Чтобы познакомиться с технологией, пожалуйста, смотрите наш предыдущий пост в блоге «Будущее скриптинга в Unity».

Мы уже получили потрясающие результаты с WebGL, и ждём большое повышение производительности на всех поддерживаемых Unity платформах, в том числе – на iOS, и это уже разработке.

Когда я смогу её «пощупать»?

IL2CPP уже используется для WebGL, и, если вы видели какое-либо демо Unity по WebGL, вы видели его в действии. За WebGL идёт iOS. Через несколько недель первая Unity 5 альфа-сборка iOS ARM64 preview с использованием IL2CPP планируется к началу закрытого тестирования в альфа-группе. Вскоре после этого она будет доступна для наших закрытых групп бета-тестирования.

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

Официальный релиз функции iOS ARM 64-бит в Unity 5 зависит от даты выхода Unity 5, поэтому мы не можем говорить о конкретной дате. Ожидается, что превью сможет запускать игры со скриптами средней сложности.

[UPDATE]  Термин “средней сложности” был слишком неоднозначен. Уточним: мы уверены, что большинство проектов для iOS будет работать с небольшими изменениями или практически без изменений. Есть вероятность того, что некоторые редко используемые функции в настоящее время недоработаны или содержат ошибки. Эти проблемы будут решены в кратчайшие сроки. Сейчас мы тестируем ряд iOS-игр, и будем держать вас в курсе того, как мы движемся к февральскому сроку.

А что насчет 4.6? 

Мы уже начали работу по поддержке этой версии. Unity 4.6 находится в цикле Release Candidatе, и выйдет очень скоро. Сейчас планируется выпустить бета-превью функции iOS ARM64-бит, основанной на Unity 4.6.x, до февраля. Мы очень хорошо понимаем людей, имеющих почти законченные игры на Unity 4.x, и мы прилагаем все усилия, чтобы выпустить стабильное решение для Unity 4.6. Из-за переиспользования большого количества кода, превью iOS ARM64-бит в Unity 4.6.x ожидается на одном уровне с реализацией в Unity 5: вы сможете запускать игры со скриптами средней сложности.

А что насчет версий до 4.6? 

Мы не будем добавлять поддержку 64-битной iOS для версий до Unity 4.6. Использование этой технологии в более старых версиях Unity усложняется большими различиями в коде. Для того, чтобы максимально ускорить выход поддержки 64-битной iOS, мы решили сосредоточиться только на последней версии Unity из серии 4.x — Unity 4.6. Если у вас есть неизданные игры, которые находятся в стадии разработки в старой версии Unity 4.x, вам нужно будет обновить Unity до версии 4.6.x или до версии 5, чтобы опубликовать его на  iOS App Store. Обращаем ваше внимание на то, что вы можете обновить уже выпущенные 32-битные приложения в iOS App Store с любой версией Unity 4.x или Unity 5. Там нет никаких требований по поддержке 64-бит для игр и приложений, опубликованных в iOS App Store до февраля 2015 года.

Смогу ли я отправить свою игру во-время?

Ваш успех  - это единственная причина нашего существования, поэтому мы делаем всё, чтобы успеть всё сделать во-время. Вам мы тоже рекомендуем начать тестирование как можно раньше, получить Public Preview в январе, и начать апгрейд.

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

Мы очень, очень рады тому, что уже сделано в IL2CPP и как он развивается!

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

Вопросы и ответы

Что это значит для моих приложений, которые уже вышли?

В ближайшем будущем – ничего. Apple не будет удалять приложения, которые не поддерживают 64-бит, если они были загружены и доступны для продажи до 1 февраля 2015.

 Что делать, если мне нужно обновить свои приложения после истечения срока?

Сейчас Apple говорит, что существующим играм и приложениям не понадобится поддержка iOS 8 и 64-битной архитектуры на 1 февраля 2015 года. Но важно отметить, что, хотя Apple подтверждает это, есть вероятность того, что в какой-то момент все приложения должны будут поддерживать iOS 8 и 64-бит.

Что делать, если я планирую выход после 1 февраля?

Тогда вы должны будете выполнить требования Apple. Новые приложения должны поддерживать iOS 8 и 64-разрядную архитектуру, чтобы обеспечить максимальную поддержку новых iOS устройств. Для получения помощи от службы поддержки разработчиков Apple, посетите https://developer.apple.com/contact/.

20 ноября 2014 г. через Технологии | 6 мин. читать

Is this article helpful for you?

Thank you for your feedback!

Охваченные темы
Unity, логотипы Unity и другие торговые знаки Unity являются зарегистрированными торговыми знаками компании Unity Technologies или ее партнеров в США и других странах (подробнее здесь). Остальные наименования и бренды являются торговыми знаками соответствующих владельцев.