今天使用 hbuilder 运行到 ios 真机的时候,突然发现还需要 ipa 签名,这是什么东东呢?

1、IPA 签名是什么?

因苹果公司禁止企业证书用于非企业内部开发者。所以开发者无法再使用DCloud的企业证书签名的标准运行基座。

运行标准基座到iOS真机设备前,需要使用开发者的证书对基座签名后才能运行。

生成 ipa 签名有两种方式:

(1) 官网申请证书

在 apple 官网注册 appleID ,申请开发者证书,然后在iOS标准基座签名窗口,输入Bundle ID、证书私钥密码、证书profile文件、私钥证书P12文件,即可完成签名。

(2) 使用爱思助手生成

在爱思助手内,导入 ipa 文件 + appleID 生成签名文件,导入 hbuilder 安装目录下就ok了。

2、如何生成 IPA ?

apple 官网申请证书有些麻烦,appleID 账号登录成功之后,还需要填写注册时设置的安全校验问题,注册这么久早都忘喽,重新注册个邮箱注册 appleID 发现还不支持,头大的不行了,干脆使用爱思助手算了。

帮大家整理一个快捷生成 ipa 的详细步骤:

(1) 下载一个爱思助手,并且将手机与电脑连接成功。打开爱思助手,选择工具箱,找到 IPA 签名工具。

(2) 添加 ipa 文件,找到 XHbuilder 的安装目录,选择 plugins 文件夹,再找 launcher 文件夹,选择 base 文件夹,选择 iPhone_base.ipa 文件。

具体目录:HBuilderX\plugins\launcher\base\iPhone_base.ipa

(3) 使用 Apple ID 签名,通过账号密码登录,手机连接电脑自动识别设备Id。

(4) 选中 ipa 文件和 appleID 生成签名文件

(5) 签名成功后,找到签名后的ipa文件,并命名为iPhone_base_signed.ipa,然后将其拷贝到HBuilderX安装目录\plugins\launcher\base

(6) 完成上述操作之后,签名就生成完成,可以在 XHbuilder 运行项目到 ios 手机了。

3、运行到真机,好了吗 ?

此时点击运行-》运行到手机或者模拟器-》运行到 IOS app基座:

此时链接手机就可以正常开始编译,运行到手机上,运行半天之后提示安装调试基座失败

错误信息提示:

打开文件服务失败,请尝试拔掉数据线后重新连接手机,或重启手机再试(如果是IOS15.1以上的设备,请确认基座版本号为3.3.2及以上)

07:30:33.442 标准基座真机运行不支持iPhone 5S/iPad mini2以下设备,请使用自定义基座进行真机运行。

此时我们需要在手机端安装 Hbuilder 调试基座,

点击打开已签名的 ipa 位置,选中生成的 iPhone_base.ipa 文件双机,就会出现 Hbuilder 安装确认提示:

点击立即安装,就会进入手机安装Hbuilder 进度提示,如下图:

安装完成之后我们需要最后一步就可以正常运行到手机了。打开手机设置-》通用-》设备管理-》选择开发者APP->信任Hbuilder。

至此,就可以正常运行到手机上了。小编第一次看见这些的时候看着官方文档实操了一上午,最后以失败而告终,所以帮大家整理了一下,希望不要像我一样从入门到放弃。

4、生成 IPA 常见问题 ?

小编写的好简单啊,看着教程都是这么简单,但是实操的时候,发现会经常报各种错误,让人好心累,所以为大家整理下常见的问题。

(1) 提示,证书申请失败!

(将鼠标移动至红色字体的位置。后面会出现一串这样的英文提示。)

get +XcodeToken+err+SRP_Setp1+err:hsc=200+ec=-20101+au=+em=Your+account+information+was+entered+incorrectly。

这种情况说明 appleID 账户有问题,我们先重新登录以下 appleID 确认好密码之后重新添加 appleID 账户再生成。

(2)账户密码错误提示

get +XcodeToken+err+GetGsldmsToken+err:hsc=401+ec=-22406+au=+em=Your+Apple+ID+or+password+is+incorrect.

提示你账户或密码不正确,请确认您的 apple Id 账户信息。

(3)提示签名失败,错误码44或 45 。

因 ipa 包构架问题导致无法进行签名,可以尝试下载未被改动过的原始iPA包重新签名。

(4) get anisettedata failed.

这个有可能是电脑网络的原因:公司网络或校园网络。解决方法是:更换个人家庭网络或手机热点。通常会有网络提示帮您自动切换。

(5) 启动证书申请进程失败。

这个是杀毒软件拦截了证书申请的进程,重启电脑退出杀毒软件再重试。

(6) 出现这类证书申请失败的提示:get teams err Teams =0.

原因是当前账号获取teams出错,更换Apple ID账号再去签名即可。

(7) 出现这类证书申请失败的提示:get XcodeToken err GetGsldmsToken err:hsc=434 ec=-22421 au=em=This action could not be completed. Try again.

或者这种提示:get +teams+err+1100+Your+session+has+expired.+Please+log+in.

然后这种提示:get +XcodeToken+err+RequestValidate+err;Http+Get+validate+vd+len;0+err;<nil>.

还有这种提示:

这四种情况的解决办法是一样的,按照这个文件路径 :C:\ProgramData\i4\i4tools\ipasign,删除adi和cnf两个文件夹即可。

(8) 这类证书申请失败的提示:get +XcodeToken+err+MakeCPD+err;anisette+null+err;The+operation+couldn\U2019t+completed.+(AKAnisetteError+error+-8004.) .

这是电脑设置了代理服务器,关闭即可。

(9) 签名数量已达上限。

根据苹果的规定,每个 Apple ID 在 7 天内只能为 10 个安装包进行签名,请更换 Apple ID 或 7 天后再试。

出现以上报错,首先检查 iTunes 是否为最新版本,确保为最新版后如果继续报错,请更换其他能正常登录使用的 Apple ID 来完成签名。

(10) Apple ID 停用了。

证书申请失败提示:

get XcodeToken err SRP_ Setp1 err:hsc=409 ec= -20209 au=iForgotAppleldLocked em=This Apple ID has been locked for security reasons. Visit iForgot to reset your account (https://iforgot.apple.com).

这个是苹果ID停用了,去苹果官网登录Apple ID,等弹窗提醒再去修改Apple ID 密码即可。(不要去主动修改Apple ID密码,不然无效。)

5、 IPA 使用注意事项有哪些?

(1)ipa 生成签名安装应用的有效期为 7天,安装之后的使用时间取决于证书的有效期,如果在有效期内被吊销或者过了有效期,软件将无法再次打开。

(2)使用 apple id 生成的 ipa 文件不可以直接发给别人使用,因为生成的 ipa 是个 apple id 签名的应用设备标识绑定着,所以别人使用时签名无效。

(3)XHbuilder 升级之后,以前生成的 ipa 还可以使用吗?不可以。

XHbuilder 需要的 ipa 签名,超详细的教程,你不看吃亏的是自己!的更多相关文章

  1. ROS2的安装与使用(超详细图文教程)

    ROS2的安装与使用(超详细图文教程) 如果前面的虚拟机以及Ubuntu22.04镜像都安装好了,根据目录直接跳到ROS2的安装. 资料参考于:古月居 VMware虚拟机的安装 安装地址: 对于不了解 ...

  2. VMware虚拟机下安装CentOS7.0超详细图文教程

    1.本文说明: 官方的第一个文本档案.也就是0_README.txt,大概意思是这样(渣翻译,但是大概意思还是有的). CentOS-7.0-1406-x86_64-DVD.iso:这个镜像(DVD ...

  3. 超详细实战教程丨多场景解析如何迁移Rancher Server

    本文转自Rancher Labs 作者介绍 王海龙,Rancher中国社区技术经理,负责Rancher中国技术社区的维护和运营.拥有6年的云计算领域经验,经历了OpenStack到Kubernetes ...

  4. MySql5.6 Window超详细安装教程

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 目录 一.安装包准备二.开始安装三.验证安装四.客户端工具 一.安装包准备 1.下载MySql ...

  5. MySql5.6Window超详细安装教程(msi 格式的安装)

    转自:红黑联盟  http://www.2cto.com/database/201506/409821.html 一.安装包准备 1.下载MySql5.6 http://www.mysql.com/ ...

  6. 在Ubuntu下进行XMR Monero(门罗币)挖矿的超详细图文教程

    大家都知道,最近挖矿什么的非常流行,于是我也在网上看了一些大神写的教程,以及跟一些大神请教过如何挖矿,但是网上的教程都感觉写得不够详细,于是今天我这里整理一个教程,希望能够帮到想要挖矿的朋友. 首先, ...

  7. 超详细,新手都能看懂 !使用SpringBoot+Dubbo 搭建一个简单的分布式服务

    来自:JavaGuide Github 地址:https://github.com/Snailclimb/springboot-integration-examples 目录: 使用 SpringBo ...

  8. 【建议收藏】Redis超详细入门教程大杂烩

    写在前边 Redis入门的整合篇.本篇也算是把2021年redis留下来的坑填上去,重新整合了一翻,点击这里,回顾我的2020与2021~一名大二后台练习生 NoSQL NoSQL(NoSQL = N ...

  9. 最新MATLAB R2021b超详细安装教程(附完整安装文件)

    摘要:本文详细介绍Matlab R2021b的安装步骤,为方便安装这里提供了完整安装文件的百度网盘下载链接供大家使用.从文件下载到证书安装本文都给出了每个步骤的截图,按照图示进行即可轻松完成安装使用. ...

  10. 最新MATLAB R2020b超详细安装教程(附完整安装文件)

    摘要:本文详细介绍Matlab R2020b的安装步骤,为方便安装这里提供了完整安装文件的百度网盘下载链接供大家使用.从文件下载到证书安装本文都给出了每个步骤的截图,按照图示进行即可轻松完成安装使用. ...

随机推荐

  1. 《Flask Web 开发指南 pt.2》

    哈喽大家好,我是咸鱼 在<Flask Web 开发指南 pt.1>中,咸鱼跟大家介绍了 Flask 的由来--诞生于一个愚人节玩笑,简单介绍了一些关于 Flask 的概念,并且编写了一个简 ...

  2. LeeCode 316周赛复盘

    T1:判断两个事件是否存在冲突 思路:判断两个区间是否有交集 public boolean haveConflict(String[] event1, String[] event2) { // 比较 ...

  3. AVL树的构建

    package com.xd.leetcode.shu; /** * created by lianzhen on 2020-03-10 10:27. describe:平衡二叉树的构建 * * LL ...

  4. ROS2的安装与使用(超详细图文教程)

    ROS2的安装与使用(超详细图文教程) 如果前面的虚拟机以及Ubuntu22.04镜像都安装好了,根据目录直接跳到ROS2的安装. 资料参考于:古月居 VMware虚拟机的安装 安装地址: 对于不了解 ...

  5. 洛谷:P5716日份天数

    题目描述 输入年份和月份,输出这一年的这一月有多少天.需要考虑闰年. 输入格式 输入两个正整数,分别表示年份 \(y\) 和月数 \(m\),以空格隔开. 输出格式 输出一行一个正整数,表示这个月有多 ...

  6. Vue3实现组件级基类的几种方法

    Vue3的组件有三种代码组织方式 纯Option API (不含setup) option API + setup 纯 setup (即composition API) 对于这三种形式,设置基类的方法 ...

  7. ES6必会重点汇总

    当下的前端开发已经成为一项非常流行的技能.在这个领域中,ES6是一个重要的主题.ES6是ECMAScript 2015的缩写,是JavaScript语言的下一个版本,引入了很多新的语言特性和API,让 ...

  8. [ZJOI2020] 序列 线性规划做法/贪心做法

    线性规划做法 同时也作为线性规划对偶的一个小小的学习笔记. 以下 \(\cdot\) 表示点积,\(b,c,x,y\) 是行向量. \(A\) 是矩阵,对于向量 \(u,v\) 若 \(\forall ...

  9. Linux运维实战项⽬进阶

    项⽬描述 项⽬需求 近年来为适应业务发展的需求,世界500强XX企业准备进⾏⼤规模的电⼦商务建设, 同时,希望能通过Linux平台,利⽤开源技术,来实现⼤型互联⽹电⼦商务⽹站架构建设和业务⽀撑,现要求 ...

  10. jQuery实现swipe事件

    // jQuery.event.swipe // 0.5 // Stephen Band // Dependencies // jQuery.event.move 1.2 // One of swip ...