uni-app云原生打包与传统打包对比,iOS包无法上传Appstore

发布于 1周前 作者 ionicwang 来自 Uni-App

uni-app云原生打包与传统打包对比,iOS包无法上传Appstore

云原生打包-传统打包 - iOS包无法上传Appstore

报错如下:

  • Asset validation failed (90635)

    • Invalid Mach-O Format. The Mach-O in bundle “HBuilder.app/Frameworks/NEYDnn.framework” isn’t consistent with the Mach-O in the main bundle. The main bundle Mach-O contains , while the nested bundle Mach-O contains arm64(machine code). Verify that all of the targets for a platform have a consistent value for the ENABLE_BITCODE build setting. (ID: 87af1595-9ef3-4125-ba66-e30111bd473a)
  • Asset validation failed (90171)

    • Invalid bundle structure. The “HBuilder.app/HBuilder” binary file is not permitted. Your app cannot contain standalone executables or libraries, other than a valid CFBundleExecutable of supported bundles. For details, visit: Placing Content in a Bundle (ID: 97e744ea-98fc-4c4e-8527-79aa6b39831e)
  • Asset validation failed (90635)

    • Invalid Mach-O Format. The Mach-O in bundle “HBuilder.app/Frameworks/DCUniBase.framework” isn’t consistent with the Mach-O in the main bundle. The main bundle Mach-O contains , while the nested bundle Mach-O contains arm64(machine code). Verify that all of the targets for a platform have a consistent value for the ENABLE_BITCODE build setting. (ID: 6577c762-55d7-45ec-a268-655783fdbf95)
  • Asset validation failed (90725)

    • SDK version issue. This app was built with the iOS SDK. All iOS and iPadOS apps must be built with the iOS 17 SDK or later, included in Xcode 15 or later, in order to be uploaded to App Store Connect or submitted for distribution. (ID: 16875ccd-569c-4ef4-b992-39bd084c58a1)

4 回复

从后台日志看9月25号前iOS平台使用了多次安心打包,请确保上传AppStore的是传统打包方式生成的安装包。 另外建议更新到HX4.28版本重新打包(4.28版本云端打包机环境更新到XCode15.4 iOS17.5),如果使用新版本重新打包提交AppStore审核还有问题,请提供ipa下载链接地址。

在探讨uni-app的云原生打包与传统打包方式的对比,并针对iOS包无法上传至App Store的问题时,我们可以从技术实现和问题解决的角度来阐述。

uni-app云原生打包与传统打包对比

传统打包

传统打包方式通常依赖于本地开发环境,通过HBuilderX等工具将uni-app项目编译为原生应用代码,再借助Xcode等工具进行iOS应用的打包和签名。这种方式对开发者环境配置要求较高,且打包过程可能较为繁琐,尤其是在处理不同版本的iOS SDK和依赖库时。

示例代码(传统打包流程概述,非具体代码):

1. 在HBuilderX中打开uni-app项目。
2. 配置项目信息,包括应用名称、图标、启动图等。
3. 选择“发行”->“原生App-云打包/本地打包”。
4. 在Xcode中打开生成的iOS项目,进行后续的配置和打包。

云原生打包

云原生打包是uni-app提供的一种高效打包方式,它利用DCloud的云服务器进行应用的编译和打包,大大简化了开发者的打包流程。云原生打包支持自动化构建和持续集成,能够快速生成适用于不同平台的安装包。

示例代码(云原生打包配置,非具体代码,但涉及相关配置):

// manifest.json中的云打包配置
{
  "mp-weixin": {},
  "app-plus": {
    "cloudfunctionsRoot": "cloudfunctions/",
    "cloudPackage": true, // 启用云打包
    "distribute": {
      "ios": {
        // iOS打包相关配置,如证书、Provisioning Profile等
      }
    }
  }
}

在HBuilderX中选择“云打包”后,DCloud的云服务器会根据上述配置自动完成应用的编译和打包。

iOS包无法上传App Store问题解决方案

针对iOS包无法上传至App Store的问题,常见原因包括证书配置错误、Provisioning Profile不匹配、应用ID不一致等。以下是一个检查和解决这类问题的基本流程:

  1. 检查证书和Provisioning Profile:确保使用的证书和Provisioning Profile是有效的,且与App Store分发要求相符。

  2. 验证应用ID:确认Xcode项目中的Bundle Identifier与App Store Connect中的应用ID一致。

  3. 清理和重建项目:在Xcode中清理项目(Product -> Clean Build Folder),然后重新构建并打包。

  4. 使用Xcode上传:通过Xcode的“Product”->“Archive”功能进行打包,并使用Xcode的Organizer窗口上传至App Store Connect。

通过以上步骤,通常可以解决iOS包无法上传至App Store的问题。

回到顶部