Докуметация Cтарт Статьи Форум Лента Вход
Не официальное русскоязычное сообщество
Главная
    Документация jMonkeyEngine
        jMonkeyEngine Уроки и Документация
            Развертывание iOS

Развертывание iOS

Опубликованно: 03.10.2017, 20:34
Последняя редакция, Andry: 04.10.2017 17:34

Чтобы использовать развертывание iOS, вам нужен компьютер с MacOSX и версия Xcode 4.0+. Для развертывания на устройстве или в Apple App Store вам потребуется учетная запись разработчика Apple.

Обратите внимание, что в настоящий момент развертывание iOS находится в альфа-состоянии.

Развертывание iOS работает с помощью кросс-компиляции на родном ARM коде для iOS, на устройстве нет виртуальной машины. Avian JVM поддерживает эту особенность, сохраняя при этом общую совместимость с OpenJDK и JNI для родного доступа. Минимальная совместимая цель развертывания iOS — 4.3.

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

Включение развертывания iOS

Чтобы включить развертывание iOS, перейдите к свойствам проекта и в разделе Приложение ▸ iOS установите флажок Enable iOS deployment, настройте App ID и нажмите [ОК].

ios-deployment

После включения развертывания, в корне проекта создается новая папка ios, содержащий проект и папку src. Папка ios/project содержит проект Xcode, который вы будете использовать для создания и запуска финального приложения iOS для iPhone и iOS. Папка ios/src содержит java и родные исходные файлы для подключения iOS и родного кода, здесь вы можете добавлять .java и .m файлы с вашим родным кодом iOS.

Когда вы включаете развертывание iOS в первый раз или во время, когда обновляется Avian-библиотека или OpenJDK, они будут извлечены в вашу папку настроек SDK, подождите, пока они не будет извлечены, до тех пор пока iOS не разрешит собирать проект.

Сборка бинарных файлов iOS

Бинарные файлы iOS автоматически создаются при включении развертывания iOS и создании вашего проекта в jME3 SDK.

Когда сбираются двоичные файлы iOS, все необходимые классы, включая полную копию классов OpenJDK7, запускаются через процесс proguard, который удаляет ненужные классы для проекта и оптимизирует код для платформы. Это происходит без изменения структуры именования, так что отражение и.т.п. все еще работает. При необходимости настройте параметры proguard в файле свойств ios.

После того, как был создан classpath iOS, avian-компилятор используется для создания родного .o файла из classpath для arm (устройства) и i386 (симулятора). Кроме того, извлекаются другие необходимые avian .o файлы и полный список библиотек, которые указаны в Xcode проекта.

Если произошла ошибка из-за того что jni.h не найден, установите SDK для 10.9 в XCode или установите путь поиска заголовка в настройках XCode проекта, в проекте по умолчанию, который
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/
SDKs/MacOSX10.9.sdk/System/Library/Frameworks/JavaVM.framework/Headers/

Запуск и развертывание приложения

Чтобы запустить приложение, откройте Xcode проекта под ios/project в Xcode и нажмите кнопку запуска. Вы также можете внести изменения в классы пользовательского интерфейса и родные вызовы в проекте Xcode. Отсюда вы также можете развернуть приложение на своих устройствах или в App Store.

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

Создание родного и java-кода для iOS

В качестве моста между родным и Java-кодом JNI используется как в обычном Java-приложении. Папка ios/src предназначена для исходных файлов Java и C/Obj-C, используемых в вашем iOS приложении. В этих java-файлах у вас есть доступ к полному classpath проекта, а также к классам jME3, специфичным для iOS.

Класс JmeAppHarness.java инициализируется и вызывается из родного кода через проект по умолчанию, и вы можете расширять его для выполнения других родных операций. Он имеет простой родной popup метод. Файл JmeAppHarness.m содержит родной метод, необходимый для этого popup.

Фактически родной код может находиться как в Xcode проекта, так и в папке ios/src. Чтобы сохранить зависимостей в чистоте и сделать код повторно используемым, вы должны попытаться установить общий родной код, который не зависит от Xcode проекта в папке ios/src. Вы также можете смешивать и сочетать ARC и код без ARC, преобразовывая основной проект для использования ARC и ввода кода с ручным управлением памятью в папке ios/src.

Java-код для iOS должен находиться в папке ios/src, а также для чистоты разделения, это также единственное место, где они будут скомпилированы со ссылкой на конкретные классы jME для iOS. Информацию о том, как подключить код приложения и код устройства, см. в примечаниях в документации по развертыванию Android.


Переведено для jmonkeyengine.ru, оригинал
Автор перевода: Andry

Добавить комментарий

jMonkeyEngine.ru © 2017. Все права сохранены.