Статьи

Выпущен RoboVM 1.12 — экспериментальная поддержка tvOS

В последнем выпуске мы добавили экспериментальную поддержку Bitcode для iOS, предшествующую поддержке tvOS. Сегодня мы очень рады объявить об экспериментальной поддержке tvOS! Вот как вы можете попробовать это, даже без устройства tvOS.

В RoboVM Studio или IntelliJ IDEA просто создайте новый проект и выберите один из шаблонов tvOS!

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

В Eclipse создайте новый проект и выберите один из шаблонов tvOS.

Щелкните правой кнопкой мыши свой проект, выберите  Run As/Debug As и выберите устройство или симулятор tvOS!

Мы также добавили новые задачи в наш плагин Gradle:

./gradlew ios:launchTVOSSimulator
./gradlew ios:launchTVOSDevice

И, конечно же, наш плагин Maven также получил новые цели:

mvn compile robovm:tvos-sim
mvn compile robovm:tvos-device

Приложения для tvOS могут быть написаны с использованием раскадровок, как и приложения для iOS. Однако обратите внимание, что простой запуск существующего приложения для iOS на tvOS не будет работать. Прежде всего, API-интерфейсы немного отличаются. Кроме того, вам придется добавить новые образы запуска и добавить новый  UIDeviceFamily к вашему Info.plist.xml

<key>UIDeviceFamily</key>
<array>
  <integer>3</integer>
</array>

Мы продолжим с более подробной статьей и документами по RoboVM и tvOS в ближайшие несколько недель! На данный момент вы можете поиграть с шаблонами проектов для tvOS и проверить наш обновленный  пример игры  или порт tvOS  примера HelloGL . Также ознакомьтесь с  официальной документацией Apple .

Поддержка iOS 9.2

Тем временем Apple также выпустила iOS 9.2, в которой есть несколько незначительных дополнений API. Проверьте наши  API-различия,  чтобы узнать, что нового!

Исправления ошибок и улучшения

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

  • Симулятор будет выведен на передний план, когда вы возобновите приложение во время отладки.
  • Теперь вы можете выбрать, на каком подключенном устройстве Apple вы хотите запустить свое приложение
  • Добавлены  @Availability аннотации ко всем API iOS с указанием поддерживаемых платформ (tvOS или iOS) и версий. В будущем выпуске мы будем выдавать предупреждения и / или ошибки компилятора, если вы используете неподдерживаемые API на конкретной платформе.
  • В IntelliJ IDEA / RoboVM Studio добавлена ​​настройка, позволяющая отключить автоматическую генерацию конфигурации запуска при импорте проектов.
  • Обновлены изображения запуска по умолчанию, чтобы они выглядели еще более круто.
  • Обновлен мастер проекта Eclipse. Теперь вы можете выбрать тип проекта через раскрывающийся список шаблонов. Теперь вам также нужно явно указать имя пакета.
  • Добавлены привязки к JavaScriptCore.
  • Идентификатор приложения Android больше не жестко задан в шаблонах.
  • Исправлена ​​проблема GC при сборе мягких / слабых ссылок.
  • Исправлена ​​утечка памяти в IntelliJ IDEA / RoboVM Studio, которая приводила к замедлению IDE для сканирования.
  • Исправлена ​​проблема в отладчике при использовании динамических прокси, например, в коде Retrofit.
  • Исправлены проблемы синхронизации между IntelliJ IDEA / RoboVM Studio и Xcode при добавлении / удалении, @IBOutlet а также  @IBAction полей и метаданных.
  • Исправлено  NetworkInterface#isUp().
  • Улучшена обработка примитивных типов в лямбда-компиляции за счет удаления ненужного бокса.
  • Сделал консервативный treehaker по умолчанию, если ничего не указано. Ранее по умолчанию не использовался шейкер для дерева.

Следующий!

В следующих выпусках мы сосредоточимся на внедрении новых RoboPods, поддержке tvOS, а также полной поддержке битового кода.

Оставайтесь с нами и счастливого кодирования!