ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

做ios签名的注意!以下这些问题将会导致app安装出错!

2020-07-14 18:32:49  阅读:282  来源: 互联网

标签:iOS 文件 安装 App ios 出错 安装包 app 开发者


在做ios签名的时候,通常都会根据签名的类型去选择不同的打包方式。但是,错误的打包方式会直接导致签名失败,应用在安装的时候出错。其实,很大程度上是因为你在打包的时候选择了错误的打包方式才会出现如此尴尬的局面。下面为大家整理一下大致原因,希望大家在做ios签名的时候尽量避免出错。

ios app安装出错

1、打包方式错误导致。开发者在打包App时,导出苹果App的安装包文件(ipa文件)时,选择了App-Store方式

通常这个问题出在导出苹果iOS的ipa文件时,有些开发者错误的选择了App-Store方式,此方式导出的ipa文件,仅适合于上传到苹果 App Store,并不能通过做企业签名后进行安装。假如是如此方式导出的ipa文件,当传到分发平台上后,会显示“App-Store版”,此类版本是不能安装的。

2、在导出App的安装包文件(ipa文件)时,选择了Ad-hoc方式,却并未添加设备的UDID

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

3、在导出App的安装包文件(ipa文件)时,选择了In-house方式,不过证书已过期或被撤销

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

4、开发者在生成App安装包时,未在Xcode中设置正确的Architecture

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

所以,正确的解决方法是在生成App安装包时,尽量让App支持更多的Architecture。具体操作方法是:在Xcode - Build Settings - Architecture中,增加armv7、armv7s、arm64,以便所有设备都可以安装。然后,将 "Build active architecture only" 设置为NO。对于各个iOS设备支持的Architecture类型。

5、App支持的iOS系统版本,和当前设备系统版本不符合

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

因此,解决的方法也很简单,我们应该让App尽可能支持更宽泛的系统版本。具体操作方式是:在Xcode - General - Deployment Info - Deployment Target 中,给App设置一个尽量低的版本,例如 iOS 6.0。

6、设备上已经安装了这个App,且已经安装的App和要安装的App是用不同证书打包的

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

7、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文件中显示 Application requires iPhone environment 的值为YES。

8、网络出现中断或异常

当遇到这种情况,用户可检查自己手机的所连接的网络是否稳定、速度是否正常等。可以尝试切换一下其他网站,或者更换一个Wi-Fi,或者由Wi-Fi换成3G/4G等,然后再试试重新安装。用这样的方式尝试后,一般都可以解决问题。

以上。

标签:iOS,文件,安装,App,ios,出错,安装包,app,开发者
来源: https://www.cnblogs.com/ccrong/p/13300774.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有