iOS IPA重签名报错Asset validation failed(90179)求助
解决Asset validation failed (90179) 重签名问题
问题本质
报错说明内嵌的MaterialComponents.framework未使用你指定的配置文件对应证书完成签名,fastlane sigh resign默认逻辑可能未覆盖内嵌框架的签名流程。
解决方案
1. 验证签名身份与配置文件的匹配性
先确认签名证书和配置文件是配对的:
- 导出配置文件中的证书信息:
security cms -D -i myapp.mobileprovision | grep -A 10 "DeveloperCertificates" - 将输出中从
-----BEGIN CERTIFICATE-----到-----END CERTIFICATE-----的内容保存为temp.cer,查看证书名称:openssl x509 -inform der -in temp.cer -noout -subject - 确保输出的
subject字段和你指定的Apple Distribution: company name完全一致,不一致则更换对应配置文件。
2. 强制重签名内嵌框架
修改fastlane命令,显式指定包含所有内嵌框架:
fastlane sigh resign --signing_identity "Apple Distribution: company name" --provisioning_profile "myapp.mobileprovision" --include_frameworks "Payload/MyApp/Frameworks/*" "myapp.ipa"
如果上述命令无效,可手动分步处理:
- 解压IPA:
unzip myapp.ipa - 重签名目标框架:
codesign -fs "Apple Distribution: company name" Payload/MyApp/Frameworks/MaterialComponents.framework - 重新打包IPA:
zip -qr myapp-resigned.ipa Payload/
3. 验证重签名结果
重签名完成后,检查框架的签名状态:
codesign -dv --verbose=4 Payload/MyApp/Frameworks/MaterialComponents.framework
查看输出中的Authority字段,确认显示的是你使用的分发证书名称。
4. 检查配置文件的权限配置
部分框架需要特定权限支持,确认配置文件的entitlements包含必要项:
security cms -D -i myapp.mobileprovision | grep -A 20 "Entitlements"
如果框架涉及推送、定位等功能,需确保对应权限已在配置文件中启用。
内容的提问来源于stack exchange,提问作者Krishna
相关产品推荐
相关产品推荐

