今天使用 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. pandas之索引操作

    索引(index)是 Pandas 的重要工具,通过索引可以从 DataFame 中选择特定的行数和列数,这种选择数据的方式称为"子集选择".在 Pandas 中,索引值也被称为标 ...

  2. [Java EE]Spring Boot 与 Spring Cloud的关系/过去-现在-未来

    1 微服务架构 定义 微服务 (Microservices) 是一种软件架构风格, 它是以专注于单一责任与功能的小型功能区块 (Small Building Blocks) 为基础, 利用模块化的方式 ...

  3. Java全栈开发/API

    2023/4/16 记录我学习的网站 前端 vuejs axios异步请求 微信开发者文档 uniapp开发文档 快速参考备忘清单 免费前端接口 读取json vant4UI cubeUI mintU ...

  4. oss/obs对象存储上传图片,在浏览器输入地址却是下载图片。不能直接在浏览器上查看。

    1.问题oss/obs对象存储上传图片获取链接地址后,在浏览器输入地址却是下载.不能直接在浏览器上面浏览图片信息.2.解决上传文件的时候需要设置:content-type类型,需要指示浏览器这是什么类 ...

  5. C# 当前进程是否有控制台窗口

    WPF应用程序,在VS的项目属性中,可以设置输出类型: 那我们在代码中,如何判断应用的类型呢.有没有控制台?是否Windows应用程序还是控制台应用程序? Kernel32下函数GetConsoleW ...

  6. 【问题解决】RabbitMQ启动出现epmd error for host xx.xx: nxdomain (non-existing domain)

    问题描述 [k8s]或[普通容器]或[Linux]部署的RabbitMQ启动时出现了 epmd error for host xx.xx: nxdomain (non-existing domain) ...

  7. KMP算法学习笔记

    总算把这个东西搞懂了...... KMP是一个求解字符串匹配问题的算法. 这个东西的核心是一个\(next\)数组,\(next_i\)表示字符串第\(0\sim i\)项的相同的前缀和后缀的最大长度 ...

  8. 【python爬虫】对于微博用户发表文章内容和评论的爬取

    此博客仅作为交流学习 对于喜爱的微博用户文章内容进行爬取 (此部分在于app页面进行爬取,比较方便) 分析页面 在这里进行json方法进行,点击Network进行抓包 发现数据加载是由这个页面发出的, ...

  9. Git&GitHub简介与入手(一)

    一.Git版本控制 1.集中式版本控制工具:SVN(版本控制集中在服务器端,会有单点故障风险): 2.分布式版本控制工具:Git: 3.Git简史 Talk is cheap, show me the ...

  10. 2021-06-17:生成长度为size的达标数组,什么叫达标?达标:对于任意的 i<k<j,满足 [i] + [j] != [k] * 2。给定一个正数size,返回长度为size的达标数组。

    2021-06-17:生成长度为size的达标数组,什么叫达标?达标:对于任意的 i<k<j,满足 [i] + [j] != [k] * 2.给定一个正数size,返回长度为size的达标 ...