×

注意!页面内容来自https://www.sohu.com/a/402377725_120511209,本站不储存任何内容,为了更好的阅读体验进行在线解析,若有广告出现,请及时反馈。若您觉得侵犯了您的利益,请通知我们进行删除,然后访问 原网页

ios企业签名安装失败?常见原因及处理方案

iOS的内测应用在安装时,很多人都遇到过安装失败的情况,安装失败的原因比较多,下面我们将一些常见原因总结如下,方便开发者进行排查。

常见原因

1、启动应用时,出现提示“未受信任的企业级开发者”

请回到iOS系统桌面,然后依次打开设置-通用-描述文件与设备管理,然后,点击对应描述文件进入后,再点击按钮信任即可。具体解决办法请见:运行企业版应用

2、应用安装快结束后,图标变为暗色图标,或弹出”无法安装XXX“的提示

如果您是该应用的开发者,请检查应用的签名是否正确,这个问题出现的原因一般是由于应用的签名不正确导致的。一般来说,对于Adhoc签名方式重点检查当前设备UDID是否已经注册;对于In-house签名(即企业签名)方式来说,需要重点检查证书是否被撤销。如果您不是这个应用的开发者,请联系开发者解决。

3、在网页中点击“安装”按钮后,没有弹出“是否安装”的提示,或者提示安装失败

这个问题出现的原因,一般是由于用户已经从苹果官方AppStore上安装了相同的应用。解决办法是:先在您的设备中删除之前已经安装的应用,然后再从微导流安装即可。

4、安装应用时,出现提示“无法连接到www.wedaoliu.com”

这个问题一般是由于用户的网络,或者手机缓存错误造成的,可以尝试如下两个方法来解决:

重启手机,然后尝试重新安装。

换一个网络环境,例如换一个Wi-Fi热点,或由Wi-Fi换成3G/4G等,然后重新安装。

其他一些可能导致应用无法安装的原因:

原因一:在导出iOSApp的安装包文件(.ipa文件)时,选择了Ad-hoc方式,但是没有添加设备UDID。

在导出iOS的安装包文件时,如果选择了Ad-hoc方式(一般用于苹果个人开发者账户),那么,如果要某台设备可以安装,则必须要将这台设备的UDID添加到导出安装包时所用的证书文件中(.mobileprovision文件),才可以在这台设备上安装。

原因二:在导出iOSApp的安装包文件(.ipa文件)时,选择了In-house方式,但是证书已过期或被撤销。

在导出iOS的安装包文件时,如果选择了In-house方式(一般用于苹果企业开发者账户),此时,如果出现无法安装的情况,开发者可以检查一下自己的企业开发者证书是否已过期或是否被撤销。因为苹果对于企业开发者证书管理较为严格,所以开发者如果使用不当,可能会导致企业证书被苹果官方撤销,被撤销后的企业证书导出的安装包,也是无法正确安装的。

原因三:开发者在生成App安装包时,没有在Xcode中设置正确的Architecture。

iOS应用的Architecture(架构),决定了这款iOS应用可以在哪些设备机型上安装。例如,如果某个应用在Xcode中只添加了arm64这一种Architecture,那么最终打包后的安装包文件上传到微导流后,对于iPadmini、iPhone5等以下设备,都是无法安装的(因为这些设备都不是arm64架构)。换句话说,如果需要在某个设备上可以安装,App就必须支持那个设备的Architecture。

所以,正确的解决方法是,在生成App安装包时,尽可能让App支持更多的Architecture。

具体操作方法是:在Xcode-BuildSettings-Architecture中,增加armv7、armv7s、arm64,以便所有设备都可以安装。然后,将"Buildactivearchitectureonly"设置为NO。对于各个iOS设备支持的Architecture类型。请点击这里查看。

原因四:App支持的iOS系统版本,和当前设备系统版本不符。

App支持的iOS系统版本过低或者过高,都可能导致App无法安装成功。例如,如果某个App设置了只支持iOS11.0以上的系统时,那么,如果在低于这个版本的系统上安装时,是无法安装成功的。

因此,解决的方法也很简单,我们应该尽量让App尽可能支持更宽泛的系统版本。

具体操作方式是:在Xcode-General-DeploymentInfo-DeploymentTarget中,给App设置一个尽量低的版本,例如iOS6.0。

原因五:设备上已经安装了这个App,且已经安装的App和要安装的App是用不同证书打包的。

这种情况下,也会造成App安装失败。解决的方式很简单,用户只需将设备上原来已经安装的App删除,再重新安装新的App即可。

原因六:Info.plist文件中的LSRequiresIPhoneOS没有设置,或者设置了NO。

对于iOS的App来说,如果Info.plist文件中的LSRequiresIPhoneOS没有设置,或者设置了NO,那么由Xcode导出的安装包(.ipa包),就不会包含Payload文件夹,而是被一个叫做Applications的文件夹代替。这样的安装包在安装时,会被iOS判定为无效的安装包,所以无法被正确安装。

解决方式也很简单,只需要将Info.plist文件中的LSRequiresIPhoneOS设置为YES,然后重新打包即可。具体操作为:在Xcode中打开Info.plist文件,然后检查LSRequiresIPhoneOS是否已设置,如果没有设置,就添加一个,然后将LSRequiresIPhoneOS的类型设置为Boolean,值设置为YES

设置好以后,可以看到Info.plist文件中显示ApplicationrequiresiPhoneenvironment的值为YES。

原因七:网络出现中断或异常。

遇到这种情况,用户可检查自己手机的所连接的网络是否稳定、速度是否正常等。能否打开其他网站,或者更换一个Wi-Fi,或者由Wi-Fi换成3G/4G等,然后重新安装。

用这样的方式尝试后,一般都可以解决问题。返回搜狐,查看更多

平台声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。
阅读 ()