You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

在iOS设备上启动GluonVM遇两类问题,求解决方案

让我一步步帮你解决这两个GluonVM在iOS上运行的问题:

问题1:Bundle ID未读取Default-Info.plist配置,而是使用mainClassName

这个问题是旧版GluonFX(原GluonVM)的默认行为:它会优先用build.gradle里的mainClassName生成应用的bundle ID,而非直接读取Default-Info.plist的配置。你完全不用为了匹配bundle ID去破坏Java类名规范,只要显式在gradle配置里指定bundle ID就能解决。

解决方法:

直接在fxmobileios配置块中添加bundleId参数,覆盖默认行为:

fxmobile {
    javafxportsVersion = '8.60.12'
    ios {
        // 显式指定bundle ID,和你的plist配置一致
        bundleId = 'com.javasuns.test'
        // 保留你原来的其他ios配置......
    }
}

修改后运行./gradlew launchIOSDevice,就会使用你设置的com.javasuns.test作为bundle ID,完美匹配你的Provisioning Profile,不用再修改主类的包名和类名了。

问题2:修改主类后出现Failed to unhide archs in executable安装错误

这个错误通常是因为编译生成的应用架构和你的iOS设备不匹配导致的。旧版javafxports默认可能生成多架构包,但部分设备对这种包的处理存在问题。

解决步骤:

  1. 指定iOS设备架构
    ios配置块中添加arch参数,明确指定为arm64(目前所有主流iOS设备都是64位架构):
ios {
    bundleId = 'com.javasuns.test'
    arch = 'arm64'
    // 其他原有配置......
}
  1. 清理旧构建文件并重新部署
    先清理之前的构建缓存,避免旧的架构文件干扰:
./gradlew clean launchIOSDevice
  1. 验证Xcode和设备兼容性
  • 确保你的Xcode命令行工具是最新版本,打开Xcode检查更新即可。
  • 确认你的iOS设备系统版本不低于iOS 9(javafxports 8.60.12的最低支持版本),设备系统太旧也可能引发安装异常。
  1. 再次检查签名和Provisioning Profile
    确认你的Provisioning Profile确实包含com.javasuns.test这个bundle ID,且签名身份iPhone Developer: #NAME#有效(未过期,且与你的开发者账号匹配)。

按照上面的步骤操作,应该就能顺利解决这两个问题啦。

内容的提问来源于stack exchange,提问作者javasuns

火山引擎 最新活动