Kotlin Multiplatform开发iOS应用上架报ITMS-90171无效包结构错误
Kotlin Multiplatform iOS 上架 ERROR ITMS-90171 报错定位修复
核心问题场景
- 提交Apple App Store校验时返回错误码
ERROR ITMS-90171: Invalid Bundle Structure - 系统定位问题文件路径为
Smiledu_app.app/Frameworks/shared.framework/shared,判定该路径下的二进制文件违反上架规则:应用包内不得包含除受支持Bundle的合法CFBundleExecutable之外的独立可执行文件或独立库 - 涉及的结构规则需符合iOS应用包结构的官方要求
- 已完成初步排查:确认
shared.framework相关文件未被误添加到Xcode工程Build Phases下的Copy Bundle Resources配置项,暂未定位到根因
落地修复操作步骤
- 校验
build.gradle.kts中KMP iOS Framework的配置参数:确认静态/动态库的编译配置匹配最终上架的链接要求,如果配置错位,会导致shared二进制没有被正确链接整合,作为独立文件残留在包内触发校验报错 - 检查Xcode工程的链接配置:确认
shared.framework被正确纳入Link Binary With Libraries与Embed流程,没有被错误归类为资源文件处理,避免结构错位 - 全量清理构建产物后重新打包:删除Xcode
DerivedData缓存、Gradle本地构建缓存、历史归档产物,重新执行Release构建后,直接对.xcarchive包内容做结构校验,确认shared.framework内不存在冗余的独立可执行文件 - 检查打包脚本逻辑:确认CI/本地打包流程没有将未经过框架结构规整的KMP编译产物直接拷贝进主App的Frameworks目录,避免绕过Xcode的框架处理流程
内容的提问来源于stack exchange,提问作者Sebastian Peredo Murga
相关产品推荐
相关产品推荐

