XHbuilder 需要的 ipa 签名,超详细的教程,你不看吃亏的是自己!
今天使用 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 签名,超详细的教程,你不看吃亏的是自己!的更多相关文章
- ROS2的安装与使用(超详细图文教程)
ROS2的安装与使用(超详细图文教程) 如果前面的虚拟机以及Ubuntu22.04镜像都安装好了,根据目录直接跳到ROS2的安装. 资料参考于:古月居 VMware虚拟机的安装 安装地址: 对于不了解 ...
- VMware虚拟机下安装CentOS7.0超详细图文教程
1.本文说明: 官方的第一个文本档案.也就是0_README.txt,大概意思是这样(渣翻译,但是大概意思还是有的). CentOS-7.0-1406-x86_64-DVD.iso:这个镜像(DVD ...
- 超详细实战教程丨多场景解析如何迁移Rancher Server
本文转自Rancher Labs 作者介绍 王海龙,Rancher中国社区技术经理,负责Rancher中国技术社区的维护和运营.拥有6年的云计算领域经验,经历了OpenStack到Kubernetes ...
- MySql5.6 Window超详细安装教程
林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 目录 一.安装包准备二.开始安装三.验证安装四.客户端工具 一.安装包准备 1.下载MySql ...
- MySql5.6Window超详细安装教程(msi 格式的安装)
转自:红黑联盟 http://www.2cto.com/database/201506/409821.html 一.安装包准备 1.下载MySql5.6 http://www.mysql.com/ ...
- 在Ubuntu下进行XMR Monero(门罗币)挖矿的超详细图文教程
大家都知道,最近挖矿什么的非常流行,于是我也在网上看了一些大神写的教程,以及跟一些大神请教过如何挖矿,但是网上的教程都感觉写得不够详细,于是今天我这里整理一个教程,希望能够帮到想要挖矿的朋友. 首先, ...
- 超详细,新手都能看懂 !使用SpringBoot+Dubbo 搭建一个简单的分布式服务
来自:JavaGuide Github 地址:https://github.com/Snailclimb/springboot-integration-examples 目录: 使用 SpringBo ...
- 【建议收藏】Redis超详细入门教程大杂烩
写在前边 Redis入门的整合篇.本篇也算是把2021年redis留下来的坑填上去,重新整合了一翻,点击这里,回顾我的2020与2021~一名大二后台练习生 NoSQL NoSQL(NoSQL = N ...
- 最新MATLAB R2021b超详细安装教程(附完整安装文件)
摘要:本文详细介绍Matlab R2021b的安装步骤,为方便安装这里提供了完整安装文件的百度网盘下载链接供大家使用.从文件下载到证书安装本文都给出了每个步骤的截图,按照图示进行即可轻松完成安装使用. ...
- 最新MATLAB R2020b超详细安装教程(附完整安装文件)
摘要:本文详细介绍Matlab R2020b的安装步骤,为方便安装这里提供了完整安装文件的百度网盘下载链接供大家使用.从文件下载到证书安装本文都给出了每个步骤的截图,按照图示进行即可轻松完成安装使用. ...
随机推荐
- flask基本项目结构
|-- myproject |-- config.py |-- flask-env.yml |-- manage.py |-- app | |-- models.py | |-- __init__.p ...
- [Git]解决:error: The following untracked working tree files would be removed by checkout:
1 文由 不小心在本地对master分支做了修改,并commit了,但是没有push成功(因为处于防止代码提交风险,产品部对普通开发者没有项目master的push权限) 后来又经过了一顿骚操作(我已 ...
- 【AIGC未来的发展方向】面向人工智能的第一步,一文告诉你人工智能是什么以及未来的方向分析
人工智能的概念 当人们提到"人工智能(AI)"时,很多人会想到机器人和未来世界的科幻场景,但AI的应用远远不止于此.现在,AI已经广泛应用于各种行业和生活领域,为我们带来了无限可能 ...
- 6.Get和Post
1.概述 URL是一个资源描述符,一个URL用于描述一个网上资源 Get用于获取/查询资源信息,Post用于更新资源信息 2.联系和区别 2.1.Get后退刷新无害,Post需要重新提交: 2.2.G ...
- MQTT-发布与订阅的报文
MQTT发布订阅流程 在MQTT发布/订阅模式中,一个客户端既可以是发布者,也可以是订阅者,也可以同时具备这两个身份.当客户端发布一条消息时,它会被发送到代理,然后代理将消息路由到该主题的所有订阅者. ...
- 在Linux上安装redis7
1.检测虚拟机环境 1.1 bit检测命令:getconf LONG_BIT(建议使用64bit做开发) 1.2 gcc环境检测:gcc -v 如果不具备gcc环境,则使用yum -y install ...
- 浅谈ArrayList和LinkedList
文章目录 前言 ArrayList和LinkedList List的方法 ArrayList add remove LinkedList remove get和peek push ArrayList和 ...
- #Python 缺失值的检测与处理,检测部分
Python 缺失值的检测与处理,分两部分笔记,第一部分是检测缺失值部分
- 2022-09-29:在第 1 天,有一个人发现了一个秘密。 给你一个整数 delay ,表示每个人会在发现秘密后的 delay 天之后, 每天 给一个新的人 分享 秘密。 同时给你一个整数 forg
2022-09-29:在第 1 天,有一个人发现了一个秘密. 给你一个整数 delay ,表示每个人会在发现秘密后的 delay 天之后, 每天 给一个新的人 分享 秘密. 同时给你一个整数 forg ...
- 2021-04-25:给定一个数组arr,和一个正数M,返回在arr的子数组在长度不超过M的情况下,求最大的累加和。
福大大 答案2021-04-25: 前缀和+左大右小的双端队列.时间太晚了,所以写得简单. 代码用golang编写.代码如下: package main import ( "containe ...