免费生成ios证书的方法(无需mac电脑)

使用hbuilderx的uniapp框架开发移动端程序很方便,可以很方便地开发出移动端的小程序和app。但是打包ios版本的app的时候却很麻烦,官方提供的教程需要使用mac电脑来生成证书,但是mac电脑却不便宜,一般的型号都差不多上万。

因此,这里我教会大家不需要mac电脑的方法来生成苹果证书,和上架。

ios证书需要在苹果开发者中心生成,那么就必须要有苹果开发者账号了,免费是指不需要苹果电脑,苹果开发者账号还是需要有的。所以假如你还没有苹果开发者账号,你可以参考这篇文章先注册苹果开发者账号:

https://blog.csdn.net/weixin_48914851/article/details/128963761

有了苹果开发者账号,就可以来生成ios证书了。

首先需要生成私钥证书(p12文件),私钥证书的创建流程如下:

(1) 进入苹果开发者中心,点击如下图Certificates菜单,再点击下图的蓝色圆圈小加号,开始创建cer证书文件。没错,是先生成cer证书。生成的第一步它会要我们选择证书的类型,这里我们要选择ios distribution ad hoc and  app store类型。不要选择apple或者dev哪些其他的类型。

 (2)继续下一步,它会要我们提供一个Certificate Signing Rquest文件,这里简称csr文件。

 (3)、csr文件原本需要使用mac的钥匙串访问来生成,但我们这里的主题是不使用mac电脑。所以这里使用香蕉云编来生成:

https://www.yunedit.com/createcert

使用香蕉云编的生成ios证书功能,创建一个csr文件,如下图,创建完csr文件后,点击下载将这个csr文件下载到你电脑本地硬盘上:

(4)再次进入苹果开发者中心,继续刚才的步骤,上传这个刚生成的csr文件,即可生成cer证书,接着讲生成的cer证书下载到你本地硬盘上。

(5)回到香蕉云编,上传刚在苹果开发者中心生成的cer证书,即可使用生成p12证书的功能去生成证书了。

好了,通过上面的几个简单的步骤,即可完成p12私钥证书的创建了。

但是打包还需要profile文件,我们接着证书profile文件(描述文件)的创建流程

1、点击identifiers模块,这个模块是appId的管理页面,检查应用的appId有没有创建,假如没有创建,则创建一个,创建appId的时候,填写的appId要跟打包的包名一致。

2、点击Devieces模块,添加测试设备。假如不需要做真机测试,可以跳过这一步。添加设备的时候,需要添加测试设备的UDID(iphone或ipad的udid),这个udid比较难获取。我们可以使用香蕉云编这个工具来获取UDID:

 3、点击profiles,如下图,开始创建profile

 4、创建的时候,要选择profile的类型。假如你是上架,那选app store类型就可以了。假如是想打测试包,则需要选ad hoc类型。

然后创建的过程中还需要我们选择appId和cer证书,如下两图,这里不要选错哦,选错了可能就会提示证书和描述文件不匹配了。

5、假如你创建的是ad hoc类型的profile,那么创建的时候还会多出一步,需要选择你在第2步的时候创建的Devices(测试设备)。没有选择的设备是不能直接安装打包好的ipa的。

好了,p12私钥证书和描述文件已经创建完毕。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2779365.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Python爬虫——请求库安装

目录 1.打开Anaconda Prompt 创建环境2.安装resuests3.验证是否安装成功4.安装Selenium5.安装ChromeDriver5.1获取chrom的版本5.1.1点击浏览器右上三个点5.1.2点击设置5.1.3下拉菜单,点击最后关于Chrome,获得其版本 5.2 打开网址 [chromedriver](https:/…

蓝桥杯每日一题------背包问题(二)

前言 本次讲解背包问题的一些延申问题,新的知识点主要涉及到二进制优化,单调队列优化DP,树形DP等。 多重背包 原始做法 多重背包的题意处在01背包和完全背包之间,因为对于每一个物品它规定了可选的个数,那么可以考虑…

【2024年数据】67个“绿色金融”主题DID政策汇总(已去重)

DID”发文趋势和主题分布 数据来源:中国知网、各期刊官网 时间跨度:2017-2024年 数据范围:中国各省 数据指标: 序号 用于构建DID的政策 文献标题 1 “宽带中国” 数字技术创新与中国企业高质量发展——来自企业数字专利的证据…

伪装成NodeJS的勒索病毒,勒索呼伦贝尔的空气

前言 前几天在微步上看到一个有意思的贴子,有人中了一个伪装成NodeJS程序的勒索病毒,然后把样本上传到了微步,并寻找帮助,如下: 这个样本目前VT上还没有,但是从当时的检测结果是显示0/25,笔者对…

网络编程项目:电子辞典

项目要求: 登录注册功能,不能重复登录,重复注册。用户信息也存储在数据库中。单词查询功能历史记录功能,存储单词,意思,以及查询时间,存储在数据库基于TCP,支持多客户端连接&#x…

C++ shell - 在线 C++ 编译器

C shell - 在线 C 编译器 1. C shell2. Example program3. Options4. ExecutionReferences 1. C shell C Shell v2 https://cpp.sh/ https://cpp.sh/about.html C Shell v2, free online compiler, proudly uses emscripten to compile your code. emscripten is a clang-ba…

Hadoop:认识MapReduce

MapReduce是一个用于处理大数据集的编程模型和算法框架。其优势在于能够处理大量的数据,通过并行化来加速计算过程。它适用于那些可以分解为多个独立子任务的计算密集型作业,如文本处理、数据分析和大规模数据集的聚合等。然而,MapReduce也有…

假期作业 8

1、若有以下说明语句:int a[12]{1,2,3,4,5,6,7,8,9,10,11,12};char c’a’,d,g;则数值为4的表达式是( B)。 A)a[g-c] B)a[4] C)a[‘d’-‘c’] D)a[‘d’-c] 2、假…

9.3使用最小花费爬楼梯(LC746-E)

算法: 动规五部曲: 1.确定dp数组以及下标含义 dp[i]的定义:到达第i台阶所花费的最少体力为dp[i]。 2.确定递归公式 调到dp[i],不仅需要体力花费(dp[i - 1]或dp[i - 2] 跳1/2阶),还需要金钱…

【小记】目标雅思~

Apps and WebSites 沪江英语 传送门:听力板块/有声热点 FOR 精读练习 使用方法: 调整读速0.75x,盲听默写;对于听不清的部分,再多听几遍 网易公开课 传送门:TED 、可汗学院、国际名校公开课 FOR 泛听 &a…

特殊形势下如何自主创新创业

当下的经济形势相信每个人都有不断的判断,但比较一致的观点是经济下行趋势十分明显,无论是传统的建筑以及相应的建材、家居、家电行业,还是曾红极一时的IT行业,甚至是芯片业行,都出现了严重的需求不足、产能过剩。从而…

Linux: GDB 调试工具

目录 概念: Linux 下 debug 和 release 的区别: GDB 的使用 : 激活和进入工作模式: 查看文件的内容: 运行调试的文件: 打断点: 查看断点: 删除断点: 禁用断点…

猫头虎分享已解决Bug ‍ || Error: Target container is not a DOM element (React)

博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通鸿蒙》 …

shell脚本之文件处理命令及字符切片处理

目录 一、文件处理工具 1、tr命令 1.1 转换字符 1.2 压缩字符及删除字符 2、seq命令 3、cut命令 ​4、tac命令 5、rev命令 6、sort命令 ​​​​​7、uniq命令 ​8、echo命令 9、date命令 二、字符串切片处理 1、取字符串的长度 2、跳过字符串最前边的字符 3、…

C++入门(上)

文章目录 1:什么是C2.C的发展史3:C关键字(C98)4:命名空间4.1:命名空间的概念4.2:命名空间的定义4.3:命名空间的使用4.3.1加命名空间的名称以及域作用限定符4.3.2:使用using将命名空间中某个成员引入4.3.3:使用using namespace 命名空间名称展开命名空间代码1代码2 5:C输入与输出…

用C语言列出Linux或Unix上的网络适配器

上代码&#xff1a; 1. #include <sys/socket.h> 2. #include <stdio.h> 3. 4. #include <netdb.h> 5. #include <ifaddrs.h> 6. 7. int main() { 8. struct ifaddrs *addresses; 9. if(getifaddrs(&addresses) -1) { 10. printf("…

Linux:信号的保存

文章目录 信号相关概念信号递达信号未决信号阻塞内核中的示意图 信号集的操作函数 前面对于信号的产生中对操作系统有了一个基础的认知&#xff0c;对于一个真正的操作系统来说&#xff0c;进程是由操作系统进行调度的&#xff0c;那操作系统本身也是代码&#xff0c;是由谁进行…

Python并发编程之多线程

前言 本文介绍并发编程中另一个重要的知识 - 线程。 线程介绍 我们知道一个程序的运行过程是一个进程&#xff0c;在操作系统中每个进程都有一个地址空间&#xff0c;而且每个进程默认有一个控制线程&#xff0c;打个比方&#xff0c;在一个车间中有很多原材料通过流水线加工…

MYSQL分区NOW()不支持

传说同事写个复杂的SQL代码,跑一次需要7-10秒, 复杂如上,我也懒得去分析 IF IF IF是怎么回事了! 发现此表是分区表,后面要求加上了分区时间,以便利用到分区裁剪技术. 因为需求是查近10天来到期还款的人和金额.就是今天应该还款的人, 一般还款周期是7天. 给个10天的范围挺可以的…

第3集《佛说四十二章经》

和尚尼慈悲、诸位法师、诸位同学&#xff0c;阿弥陀佛&#xff01; 请大家打开讲议第四面&#xff0c;三、随文释义。 前面讲到本经的修学纲要是顿渐兼收&#xff0c;理事无碍。本经的修学有两个主题&#xff1a; (一)顿教法门&#xff1a; 顿教法门是一种智慧的观照。修学…