最近通过jenkins打包生成的ipa上传到fir.im上,扫描二维码的时候总是提示无法安装,一直没找到原因,在寻找的过程中发现了Log Guru这个日志分析工具,能分析具体的原因。原文链接在此:http://fir.im/tools/log_guru
fir这里列出了几种常见的原因:
1.证书被封:
(Invalid signing certificate (it may have expired or been revoked))
2.手机内已安装该应用,但是应用的证书和当前下载的证书不同:
profiled➜(Note ) MC: Provisioning profiles changed
installd➜0x100724000 -[MIInstallableBundle performVerificationWithError:]: 517: Upgrad e's application-identifier entitlement string (证书前缀1.BundleID) does not match installed application's application-identifier string (证书前缀2.BundleID); rejecting upgrade.
解决方法:删除旧的应用,重新安装。
3.框架不支持:
installd➜0x2fe93000 install_application: Could not preflight application installitunesstored➜0x15f6000 MobileInstallationInstall: failed with -1
installd➜0x2fe93000 handle_install: API failed
解决方法:在Build Settings -->Valid Architectures中添加相应的框架。
4.没有添加 UDID:
installd➜profile not valid: 0xe8008012
installd➜0x385000 install_embedded_profile: Could not install embedded profile: 0xe8008012
解决方法:添加该设备的 UDID
但我自己遇到了一个不再这4个里面的问题,如下:
installd➜0x16e1bb000 +[MICodeSigningVerifier _validateSignatureAndCopyInfoForURL:withOptions:error:]: 142: Failed to verify code signature of /private/var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.LfhDXF/extracted/Payload/4dBookCity.app : 0xe8008017 (A signed resource has been added, modified, or deleted.)
开始以为是证书的问题,翻来覆去的创建证书,发现不对,经过谷歌搜索发现Product Name和Product Module Name也会影响,然后把其复原为默认设置发现也不行,最终通过git版本比较发现在Build Settings的User Defined下面多了这个,这是因为之前版本用Swift开发(发现Swift的包体积会比OC的大5MB),现在改为Objc的,但在Objc改成Swift的时候自动生成了SWIFT_OBJC_BRIDGING_HEADER这个KEY,所以在Swift改为Objc的时候需要吧这个删除。到此终于解决!
网友评论