热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

在做ios签名的时候,通常都会根据签名的类型去选择不同的打包方式。但是,错误的打包方式会直接导致签名失败,应用在安装的时候出错。其实,很大

在做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等,然后再试试重新安装。用这样的方式尝试后,一般都可以解决问题。

以上。


推荐阅读
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 本文介绍了在Vue项目中如何结合Element UI解决连续上传多张图片及图片编辑的问题。作者强调了在编码前要明确需求和所需要的结果,并详细描述了自己的代码实现过程。 ... [详细]
  • 本文介绍了Python爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ... [详细]
  • 本文介绍了如何使用JSONObiect和Gson相关方法实现json数据与kotlin对象的相互转换。首先解释了JSON的概念和数据格式,然后详细介绍了相关API,包括JSONObject和Gson的使用方法。接着讲解了如何将json格式的字符串转换为kotlin对象或List,以及如何将kotlin对象转换为json字符串。最后提到了使用Map封装json对象的特殊情况。文章还对JSON和XML进行了比较,指出了JSON的优势和缺点。 ... [详细]
  • 本文分析了Wince程序内存和存储内存的分布及作用。Wince内存包括系统内存、对象存储和程序内存,其中系统内存占用了一部分SDRAM,而剩下的30M为程序内存和存储内存。对象存储是嵌入式wince操作系统中的一个新概念,常用于消费电子设备中。此外,文章还介绍了主电源和后备电池在操作系统中的作用。 ... [详细]
  • 本文介绍了H5游戏性能优化和调试技巧,包括从问题表象出发进行优化、排除外部问题导致的卡顿、帧率设定、减少drawcall的方法、UI优化和图集渲染等八个理念。对于游戏程序员来说,解决游戏性能问题是一个关键的任务,本文提供了一些有用的参考价值。摘要长度为183字。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • 本文讨论了在手机移动端如何使用HTML5和JavaScript实现视频上传并压缩视频质量,或者降低手机摄像头拍摄质量的问题。作者指出HTML5和JavaScript无法直接压缩视频,只能通过将视频传送到服务器端由后端进行压缩。对于控制相机拍摄质量,只有使用JAVA编写Android客户端才能实现压缩。此外,作者还解释了在交作业时使用zip格式压缩包导致CSS文件和图片音乐丢失的原因,并提供了解决方法。最后,作者还介绍了一个用于处理图片的类,可以实现图片剪裁处理和生成缩略图的功能。 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有