簡體   English   中英

如何在 iOS 模擬器或真實設備上測試 Gluon 應用程序?

[英]How to testing Gluon app on iOS Simulator or Real Device?

當我嘗試在 iOS 設備/模擬器上執行 gluon 應用程序時,該問題與我之前的問題有關。 它似乎根本不起作用。 它向我顯示以下錯誤:

  • launchIPadSimulator : 它錯誤Unable to find a matching device [arch=x86_64, family=iPhone, name=null, sdk=null]

已編輯

  • launchIOSDevice :錯誤未No provisioning profile and signing identity found that matches bundle ID

我也檢查了這個問題,但它對我沒有幫助。 所以問題是如何使它工作?

注意到我使用的是 macOS Mojave 10.14.3 和 Xcode 10.2.1

構建.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.**.*'
        ]
    }
}

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文件。 然后它將在 SIM 卡上安裝該應用程序,您將能夠通過點擊它來運行它。

一旦該過程開始工作,您可以將屬性恢復為:

robovm.ipaArchs=arm64:thumbv7

以便為您的設備和 Apple Store 創建應用程序。

iOS設備

要解決這個問題:

找不到與捆綁 ID 匹配的配置文件和簽名標識

您需要按照以下步驟操作,前提是您已經注冊了 Apple Developer 計划(否則您將無法通過 Apple Store 分發您的應用程序):

  • 轉到開發人員門戶,轉到Certificates, Identifiers & Profiles
  • 轉到Certificates ,並確保您已創建開發證書(用於測試)。 稍后您將需要用於分發的生產證書。
  • 假設現在開發,下載證書並安裝(雙擊)。
  • 轉到Identifiers -> App IDs ,並創建一個新的應用程序標識符。 提供一個名稱並確保您提供應用程序中的確切 Bundle ID,該 ID 列在您的 Default-Info.plist 文件中的CFBundleIdentifier鍵下。
  • 轉到Devices並添加您的測試設備,提供這些設備的UDID (轉到 iTunes,插入您的設備,然后單擊設備序列號,它會顯示它,然后按 ⌘+C 粘貼它)。
  • 最后,轉到Provisioning Profiles ,並添加一個開發配置文件(稍后您將需要一個分發配置文件)。 選擇iOS App Development ,選擇您之前提供的App ID,完成后下載安裝(雙擊)。
  • 回到您的項目,您可以將其添加到您的build.gradle文件中:

     ios { ... iosSignIdentity = "iPhone Development: *** (^^^^)" iosProvisioningProfile = '$$$' }
  • 運行./gradlew --info launchIOSDevice ,並在過程結束時查看控制台日志記錄以檢查配置文件是否用於對應用程序進行簽名。

請注意,您必須以相同的方式使用分發配置文件來簽署您將提交到 Apple Store 的應用程序。

編輯

如果您未注冊開發人員計划,您還可以使用免費配置文件,這將讓您在自己的設備上進行測試。

為此,您必須執行以下步驟:

  • 如果您沒有可以使用的 Apple ID,您可以在此處創建一個新的。
  • 打開 Xcode 並轉到Xcode -> Preferences -> Accounts
  • 添加您的 Apple ID
  • 在管理證書下,為 iOS 開發添加一個。
  • 現在創建一個新的 Xcode 項目,選擇一個簡單的模板,比如Single View App
  • 確保您設置的包標識符與項目中的包標識符完全相同。
  • 連接您的設備並運行 Xcode 項目。 它將在您的設備上為該空應用程序安裝配置文件。
  • 退出 Xcode 並返回到您的項目,嘗試將其部署到 iOS 設備而不設置iosSignIdentityiosProvisioningProfile )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM