HBuilderX 5.03,编译器:4.87,打包ipa后上传,总提示120x120.png不存在,实际上是存在的
- 发布:2026-03-16 21:04
- 更新:2026-03-16 22:24
- 阅读:22
产品分类: uniapp/App
PC开发环境操作系统: Mac
PC开发环境操作系统版本号: macos sequoia 15.5
HBuilderX类型: 正式
HBuilderX版本号: 5.03
手机系统: Android
手机系统版本号: Android 16
手机厂商: 华为
手机机型: ---
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
操作步骤:
预期结果:
正常上传
正常上传
实际结果:
报错
报错
bug描述:
HBuilderX 5.03,编译器:4.87,打包ipa后上传,总提示120x120.png不存在,实际上是存在的
欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。
该bug反馈存在信息不完整和分类矛盾的问题,需要进行补充才能进一步定位。
反馈完整性评价
该反馈缺少关键的技术细节,目前无法直接复现或定位问题。主要缺失包括:
- 复现步骤缺失:未说明是云打包还是本地打包,未说明上传的具体目标(App Store Connect还是其他平台),也未说明120x120.png文件在项目中的实际存放路径。
- 配置信息缺失:未提供manifest.json中关于iOS图标配置的相关代码片段或截图,无法确认图标配置方式是否正确。
- 错误信息不完整:仅描述"提示120x120.png不存在",未提供完整的错误日志或截图,无法判断是打包过程中的错误还是上传过程中的校验错误。
- 环境信息矛盾:问题描述为打包ipa(iOS应用包),但"手机OS平台"填写为Android,这是明显的分类错误。
可能的问题分析
根据知识库中关于iOS平台图标配置的文档,iOS平台应用图标配置需在manifest.json的distribute节点下正确配置。知识库明确指出:"iOS平台应用图标配置。云打包后生效,建议在HBuilderX中 manifest.json 的可视化界面操作,不推荐手动在源码视图中修改" 链接。
120x120.png通常是iOS应用图标的一种尺寸规格(用于iPhone Spotlight等场景),如果系统提示该文件不存在,可能的原因包括:
- 在manifest.json中配置了该尺寸图标的路径,但实际文件未放置到对应位置
- 使用了本地离线打包但资源文件未正确复制
- 云打包时资源文件未正确上传或路径配置使用了相对路径但基准路径错误
需要补充的信息
为准确判断是否为HBuilderX bug,请补充以下信息:
- manifest.json源码视图中"app-ios" -> "distribute" -> "icons"的配置内容
- 项目目录中120x120.png文件的实际存放路径截图
- 完整的错误日志(包括报错发生的具体阶段:打包时、上传时还是App Store校验时)
- 确认是云端打包还是本地离线打包
- 如果使用了本地离线打包,需确认离线SDK版本与HBuilderX版本是否匹配
建议的排查步骤
基于知识库内容,建议先按照以下步骤排查:
- 在HBuilderX中打开manifest.json的可视化界面,进入"App图标配置" -> "iOS图标配置",检查是否所有必需尺寸的图标都已正确配置(特别是120x120尺寸)
- 确保配置的图标路径与实际文件存放路径一致,建议使用相对路径(相对于项目根目录)
- 如果使用云打包,尝试清理项目缓存后重新打包
- 确认iOS平台的主图标(appstore)已配置,分辨率要求为1024x1024
如果以上排查后问题仍然存在,请补充上述信息以便进一步分析。
canmars (作者) - 骏马
错误信息:
Validation failed (409)
Missing required icon file. The bundle does not contain an app icon for iPhone / iPod Touch of exactly '120x120' pixels, in .png format for iOS versions >= 10.0. To support older versions of iOS, the icon may be required in the bundle outside of an asset catalog. Make sure the Info.plist file includes appropriate entries referencing the file. See https://developer.apple.com/documentation/bundleresources/information_property_list/user_interface. (ID: 0a137404-952a-4536-9179-4591aac314e7)
{
"name" : "ly助手",
"appid" : "UNID0E7Bxx",
"description" : "",
"versionName" : "0.1.0",
"versionCode" : 66,
"transformPx" : false,
"app-plus" : {
"usingComponents" : true,
"nvueStyleCompiler" : "uni-app",
"compilerVersion" : 3,
"splashscreen" : {
"alwaysShowBeforeRender" : true,
"waiting" : true,
"autoclose" : true,
"delay" : 0
},
"screenOrientation" : [ "portrait-primary", "landscape-primary" ],
"modules" : {
"VideoPlayer" : {},
"Camera" : {},
"Push" : {},
"WKWebView" : {},
"Barcode" : {}
},
"distribute" : {
"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\"/>"
]
},
"ios" : {
"bundleid" : "com.ly.qiankunasst.ios",
"dSYMs" : false
},
"sdkConfigs" : {
"push" : {
"unipush" : {
"version" : "2",
"offline" : false
}
}
},
"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" : {
"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"
},
"appstore" : "unpackage/res/icons/1024x1024.png"
}
}
}
},
"quickapp" : {},
"mp-weixin" : {
"appid" : "wxf2f020c9fc842890",
"setting" : {
"urlCheck" : false
},
"lazyCodeLoading" : "requiredComponents",
"usingComponents" : true,
"usePrivacyCheck" : true,
"permission" : {
"scope.userLocation" : {
"desc" : "您的位置信息将用于定位就近门店",
"camera" : "“交付助手”想访问您的相机和相册",
"address" : "“交付助手”想获取您的通讯录权限"
}
}
},
"mp-alipay" : {
"usingComponents" : true
},
"mp-baidu" : {
"usingComponents" : true
},
"mp-toutiao" : {
"usingComponents" : true
},
"uniStatistics" : {
"enable" : false
},
"vueVersion" : "3",
"app-harmony" : {
"distribute" : {
"bundleName" : "com.ly.qiankunasst.hm",
"signingConfigs" : {},
"icons" : {
"foreground" : "src/static/logo/icon.png",
"background" : "src/static/logo/icon.png"
},
"splashScreens" : {
"startWindowIcon" : "src/static/logo/192x192.png"
},
"modules" : {
"uni-push" : {}
}
}
},
"h5" : {
"router" : {
"mode" : "hash",
"base" : "./"
},
"devServer" : {
"https" : false
}
}
}
以上是manifest.json配置
