Как протестировать приложение Gluon на iOS Simulator или Real Device? - PullRequest
1 голос
/ 02 мая 2019

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

  • launchIPadSimulator: ошибка Unable to find a matching device [arch=x86_64, family=iPhone, name=null, sdk=null]

1012 * Отредактированный *

  • launchIOSDevice: это ошибка No provisioning profile and signing identity found that matches bundle ID

Я также проверяю этот вопрос , но мне это не помогает. Итак, вопрос в том, как заставить это работать?

Отметил Я использую macOS Mojave 10.14.3 и Xcode 10.2.1

build.gradle

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'org.javafxports:jfxmobile-plugin:1.3.16'
    }
}
// Apply the plugin
apply plugin: 'org.javafxports.jfxmobile'

repositories {
    jcenter()
    maven {
        url 'http://nexus.gluonhq.com/nexus/content/repositories/releases'
    }
}

mainClassName = 'fr.cashmag.GluonApplication'
ext.GLUON_VERSION="5.0.2"
ext.CHARM_DOWN="3.8.6"

dependencies {
    compile "com.gluonhq:charm:$GLUON_VERSION"
    compile "com.gluonhq:charm-down-plugin-orientation:$CHARM_DOWN"
}

jfxmobile {
    downConfig {
        version = '3.8.6'
        // Do not edit the line below. Use Gluon Mobile Settings in your project context menu instead
        plugins 'display', 'lifecycle', 'orientation', 'statusbar', 'storage'
    }
    android {
        manifest = 'src/android/AndroidManifest.xml'
    }
    ios {
        infoPList = file('src/ios/Default-Info.plist')
        forceLinkClasses = [
                'com.gluonhq.**.*',
                'javax.annotations.**.*',
                'javax.inject.**.*',
                'javax.json.**.*',
                'org.glassfish.json.**.*'
        ]
    }
}

1 Ответ

1 голос
/ 03 мая 2019

Симулятор iOS

Для решения вопроса:

Невозможно найти подходящее устройство [arch = x86_64, family = iPhone, name = null, sdk = null]

Возможное решение:

  • Включите файл gradle.properties в корень вашего проекта и добавьте:

    robovm.ipaArchs=x86_64
    

    (подробности см. в документации ).

  • Запустите ./gradlew --info createIpa, дождитесь окончания задачи. Проверьте, что ваш проект содержит приложение под build/javafxports/ios/*.app.

  • Откройте Xcode, перейдите к Xcode -> Open Developer Tool -> Simulator

  • Когда появится экран устройства iPhone / iPad, перетащите из Finder файл *.app. Затем он установит приложение на сим, и вы сможете запустить его, нажав на него.

Как только процесс заработает, вы можете вернуть свойство:

robovm.ipaArchs=arm64:thumbv7

, чтобы создать приложение для вашего устройства и для Apple Store.

iOS-устройство

Для решения проблемы:

Не найден профиль инициализации и удостоверение подписи, соответствующее идентификатору пакета

вам нужно выполнить следующие шаги, если вы уже зарегистрированы в программе Apple Developer (иначе вы не сможете распространять свое приложение через Apple Store):

  • Перейдите на портал разработчика , перейдите на Certificates, Identifiers & Profiles.
  • Перейдите на Certificates и убедитесь, что вы создали сертификат разработки (для тестирования). Позже вам потребуется производственный сертификат для распространения.
  • Предполагая разработку сейчас, загрузите сертификат и установите его (двойной щелчок).
  • Перейдите на Identifiers -> App IDs и создайте новый идентификатор приложения. Укажите имя и убедитесь, что вы указали точный идентификатор пакета из своего приложения, который указан в файле Default-Info.plist под ключом CFBundleIdentifier.
  • Перейдите на Devices и добавьте свои тестирующие устройства, предоставив UDID этих устройств (перейдите в iTunes, подключите ваше устройство и нажмите на серийный номер устройства, оно раскроет его, и ⌘ + C, чтобы вставить его) .
  • Наконец, перейдите к Provisioning Profiles и добавьте профиль разработки (позже вам понадобится дистрибутив). Выберите iOS App Development, выберите идентификатор приложения, который вы указали ранее, и после завершения загрузите и установите (двойной щелчок).
  • Вернувшись в свой проект, вы можете добавить его в файл build.gradle:

    ios {
        ...
        iosSignIdentity = "iPhone Development: *** (^^^^)"
        iosProvisioningProfile = '$$$'
    }
    
  • Запустите ./gradlew --info launchIOSDevice и просмотрите журнал консоли в конце процесса, чтобы убедиться, что профиль обеспечения используется для подписи приложения.

Обратите внимание, что вам придется использовать профиль обеспечения распространения таким же образом, чтобы подписать приложение, которое вы будете отправлять в Apple Store.

EDIT

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

Для этого вы должны выполнить следующие шаги:

  • Если у вас нет Apple ID, который вы можете использовать, вы можете создать новый здесь .
  • Откройте Xcode и перейдите к Xcode -> Preferences -> Accounts
  • Добавьте свой Apple ID
  • В разделе «Управление сертификатами» добавьте один для iOS Development.
  • Теперь создайте новый проект Xcode, выберите простой шаблон, например Single View App.
  • Убедитесь, что вы установили тот же идентификатор пакета, что и в вашем проекте.
  • Подключите ваше устройство и запустите проект Xcode. Он установит профиль обеспечения для этого пустого приложения на вашем устройстве.
  • Выйдите из Xcode и вернитесь к своему проекту, попробуйте развернуть его на устройстве iOS без установки iosSignIdentity и iosProvisioningProfile).
...