正常打包
- 发布:2026-02-05 17:57
- 更新:2026-02-06 09:07
- 阅读:60
产品分类: uniapp/App
PC开发环境操作系统: Mac
PC开发环境操作系统版本号: 26.2
HBuilderX类型: 正式
HBuilderX版本号: 4.87
手机系统: iOS
手机系统版本号: iOS 26
手机厂商: 苹果
手机机型: 所有,上传前
页面类型: vue
vue版本: vue3
打包方式: 云端
项目创建方式: HBuilderX
操作步骤:
预期结果:
勾选传统打包,正常打包并上传到appstore
勾选传统打包,正常打包并上传到appstore
实际结果:
用了传统打包。还是报缺少SwiftSupport文件夹
用了传统打包。还是报缺少SwiftSupport文件夹
bug描述:
我按文档里面写的,用了传统打包。还是报缺少SwiftSupport文件夹。这种情况应该怎么解决
欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。
【官方评审】
一、反馈完整性评估
- 标题:已点明“传统打包仍报缺少 SwiftSupport”。
- 描述:仅一句“用了传统打包还是报缺少 SwiftSupport”,缺少关键信息——
· 是否使用了含 Swift 的原生插件(如推送、支付、地图等)。
· 是否同时勾选了“安心打包”。
· 报错完整原文(ITMS-90426 还是 ITMS-90424)。 - 复现步骤:仅写“正常打包”,无法据此复现。
- 版本信息:HBuilderX 4.87、Mac、iOS 26 均给出,但“iOS 26”明显属于笔误(目前最高为 iOS 18.x)。
- 代码示例:无。
→ 结论:信息不足,需补充“是否含 Swift 插件、是否启用安心打包、完整报错截图”。
二、Bug 是否成立
根据知识库:
- 安心打包在 iOS 端不支持 Swift,若项目含 Swift 插件,即使勾选了“传统打包”,一旦同时启用安心打包,仍会触发 ITMS-90426(SwiftSupport 缺失)。
- 传统打包本身无此限制,但若仍报错,99% 是因为“安心打包”开关未关闭或项目里混用了 Swift 插件。
→ 初步判断:属于配置问题,非 HBuilderX 缺陷。
三、下一步建议(基于知识库可公开部分)
- 确认“发行-原生App-云打包”界面:
· 勾选“传统打包”后,务必关闭“安心打包”开关。
· 若仍想使用安心打包,需移除所有 Swift 原生插件或改用本地离线打包。 - 若仍报错,请补充:
· manifest.json 中引用的原生插件列表;
· 打包日志中是否出现 “SwiftSupport folder is missing” 的完整提示;
· 是否使用了自定义证书或描述文件。
王者的天空 (作者)
我看了一下,Hbuilder是不支持传统打包和安心打包同时启用的。我打包时勾选的是传统打包,打包出来上传appstore还是会报SwiftSupport 缺失。
我补充一下manifest.json
{
"name": "考前急训",
"appid": "UNI648328D",
"description": "",
"versionName": "1.0.0",
"versionCode": "100",
"transformPx": false,
/ 5+App特有相关 /
"app-plus": {
"usingComponents": true,
"nvueStyleCompiler": "uni-app",
"compilerVersion": 3,
"splashscreen": {
"alwaysShowBeforeRender": true,
"waiting": false,
"autoclose": true,
"delay": 0
},
"safearea": {
// 安全区域配置,仅iOS平台生效
"bottom": {
"offset": "none"
}
},
/ 模块配置 /
"modules": {
"Geolocation": {
// 可选,JSON对象,Bluetooth(低功耗蓝牙)
"description": "定位"
},
"VideoPlayer": {}
},
/ 应用发布信息 /
"distribute": {
/ android打包配置 /
"android": {
"permissions": [
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.CAMERA\"/>",
"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
"<uses-feature android:name=\"android.hardware.camera\"/>",
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>",
"<uses-permission android:name=\"android.permission.CALL_PHONE\"/>"
],
"targetSdkVersion": 30
},
/ ios打包配置 /
"ios": {
"dSYMs": false,
"viewport": "viewport-fit=cover"
},
/ SDK配置 /
"sdkConfigs": {
"geolocation": {
"system": {
"platform": ["ios", "android"]
}
},
"oauth": {}
},
"icons": {
"android": {
"hdpi": "unpackage/res/icons/72x72.png",
"xhdpi": "unpackage/res/icons/96x96.png",
"xxhdpi": "unpackage/res/icons/144x144.png",
"xxxhdpi": "unpackage/res/icons/192x192.png"
},
"ios": {
"appstore": "unpackage/res/icons/1024x1024.png",
"ipad": {
"app": "unpackage/res/icons/76x76.png",
"app@2x": "unpackage/res/icons/152x152.png",
"notification": "unpackage/res/icons/20x20.png",
"notification@2x": "unpackage/res/icons/40x40.png",
"proapp@2x": "unpackage/res/icons/167x167.png",
"settings": "unpackage/res/icons/29x29.png",
"settings@2x": "unpackage/res/icons/58x58.png",
"spotlight": "unpackage/res/icons/40x40.png",
"spotlight@2x": "unpackage/res/icons/80x80.png"
},
"iphone": {
"app@2x": "unpackage/res/icons/120x120.png",
"app@3x": "unpackage/res/icons/180x180.png",
"notification@2x": "unpackage/res/icons/40x40.png",
"notification@3x": "unpackage/res/icons/60x60.png",
"settings@2x": "unpackage/res/icons/58x58.png",
"settings@3x": "unpackage/res/icons/87x87.png",
"spotlight@2x": "unpackage/res/icons/80x80.png",
"spotlight@3x": "unpackage/res/icons/120x120.png"
}
}
},
"splashscreen": {
"androidStyle": "default",
"useOriginalMsgbox": false,
"android": {
"hdpi": "src/static/common/boot_page.png",
"xhdpi": "src/static/common/boot_page.png",
"xxhdpi": "src/static/common/boot_page.png"
}
}
}
},
/ 快应用特有相关 /
"quickapp": {},
/ 小程序特有相关 /
"mp-weixin": {
"appid": "wxbqw3edw8fa42aasdq4a7e34rq40d",
"setting": {
"urlCheck": false
},
"usingComponents": true,
"lazyCodeLoading": "requiredComponents",
"darkmode": true
},
"mp-alipay": {
"usingComponents": true
},
"mp-baidu": {
"usingComponents": true
},
"mp-toutiao": {
"usingComponents": true
},
"uniStatistics": {
"enable": false
},
"vueVersion": "3",
"h5": {
"sdkConfigs": {
// 使用地图或位置相关功能必须填写其一
"maps": {
"qqmap": {
// HBuilderX 4.36以下版本腾讯地图配置项
// 腾讯地图秘钥 https://lbs.qq.com/dev/console/key/manage
"key": ""
},
"tencent": {
// HBuilderX 4.36及以上版本腾讯地图配置项
// 腾讯地图秘钥 https://lbs.qq.com/dev/console/key/manage
"key": ""
},
"google": {
// 谷歌地图秘钥(HBuilderX 3.2.10+)https://developers.google.com/maps/documentation/javascript/get-api-key
"key": ""
},
"amap": {
// 高德地图秘钥(HBuilderX 3.6.0+)https://console.amap.com/dev/key/app
"key": "",
// 高德地图安全密钥(HBuilderX 3.6.0+)https://console.amap.com/dev/key/app
"securityJsCode": "",
// 高德地图安全密钥代理服务器地址(HBuilderX 3.6.0+)https://lbs.amap.com/api/jsapi-v2/guide/abc/prepare
"serviceHost": ""
},
"bmap": {
// 百度地图秘钥(HBuilderX 3.99+)http://lbsyun.baidu.com/apiconsole/key#/home
"key": "3Y5ViPzvNFCadmdgg4E1a1Imb1xqfJAs da sNlM1ahqY1111111"
}
}
}
}
}