uniapp——ios证书申请——详细步骤+遇到的坑——技能提升

2023-09-22 12:03:10

三年前,我曾经写过uniapp的程序,时隔三年,又遇到了uniapp的需求,之前没有自行申请ios证书,现在终于要自己生成证书了。。。

是福不是祸,是祸躲不过。

uniapp对接unipush的操作步骤链接

uniapp对接unipush的操作步骤:http://t.csdn.cn/j4Cz8

1.生成ios证书

生成ios证书的操作步骤:https://ask.dcloud.net.cn/article/152

上面这个链接的操作步骤已经很详细了,但是对于不熟悉苹果电脑的人来说,还是很难的。

在这里插入图片描述
这个文章中的操作步骤分为这几步:

1.1 准备环境——略过

必需要有苹果开发者账号,并且加入了 “iOS Developer Program”
Mac OS 10.9以上系统(如果已经申请p12证书则不需要)

这个是必须要有的,没有的可以自行申请,此处略过。

1.2登录IOS Dev Center——申请开发者账号后,就可以登录了——略过

在这里插入图片描述

1.3 申请苹果App ID

由于我这边是重新生成证书,因此是不需要重新申请App ID的,就是一个应用程序,自始至终都只需要申请一个App ID即可。如果没有App ID,则可以根据链接上的步骤进行处理。

我们最终要得到的就是 证书+描述文件,无论是开发还是发布环境,都需要分别生成这两种文件,两种环境也就是要生成4个文件。
在这里插入图片描述

1.4 生成证书请求文件——需要使用mac 苹果电脑

点击苹果电脑右上角的搜索图标,输入“钥匙串访问”,即可打开“钥匙串访问”功能。
在这里插入图片描述
打开菜单 “钥匙串访问”->“证书助理”,选择“从证书颁发机构请求证书…”:
在这里插入图片描述
打开创建请求证书页面,在页面中输入用户邮件地址、常用名称,选择存储到磁盘,点击 “继续” :
在这里插入图片描述
文件名称为“CertificateSigningRequest.certSigningRequest”,选择保存位置,点击 “存储” 将证书请求文件保存到指定路径下,后面申请开发(Development)证书和发布(Production)证书时需要用到
在这里插入图片描述

1.5 申请开发证书和描述文件——development——需要苹果本和上面生成的请求文件

在证书管理页面选择 “Certificates" 可查看到已申请的所有证书(TYPE:Development 为开发证书,Distribution为发布证书),点击页面的加号来创建一个新的证书:
在这里插入图片描述
在 “Software” 栏下选中 “iOS App Development” 然后点击 “Continue”:
在这里插入图片描述
接下来需要用到刚刚生成的证书请求文件,点击“Choose File…”选择刚刚保存到本地的 “CertificateSigningRequest.certSigningRequest”文件,点击 “Continue” 生成证书文件:
在这里插入图片描述
生成证书后选择 “Download” 将证书下到本地 (ios_development.cer):
在这里插入图片描述
接下来需要用到苹果电脑了

需要在苹果电脑种:双击保存到本地的 ios_development.cer 文件,会自动打开 “钥匙串访问” 工具说明导入证书成功,可以在证书列表中看到刚刚导入的证书,接下来需要导出 .p12 证书文件,选中导入的证书,右键选择 “导出…”:

注意事项:
1.如果双击ios_development.cer文件没有打开钥匙串访问,则一般情况下需要重启电脑
2.双击ios_development.cer文件,正常情况下会弹出钥匙串访问窗口,需要输入电脑的锁屏密码才可以使用
3.如果正常进入到下面的页面,则需要注意:默认选中的文件并非是你双击的文件,需要自行查找到对应的文件,一般就是开发和发布的区别。
在这里插入图片描述
4.如果此文件提示未被信任,则需要双击,更改信任未始终信任即可
在这里插入图片描述在这里插入图片描述
证书不受信任的解决办法:http://t.csdn.cn/LBxhP

上面的步骤都成功后,才可以进行.p12文件的导出。

接下来需要导出 .p12 证书文件,选中导入的证书,右键选择 “导出…”:
输入文件名、选择路径后点击 “存储”:
在这里插入图片描述
输入密码及确认密码后点击 “好”:
在这里插入图片描述
至此,我们已经完成了开发证书的制作(得到了 xxx.p12 证书文件),接下来,继续生成开发阶段所需的描述文件,在生成描述文件之前,需要先添加调试设备(iPhone 、iPad)

下面的步骤就是:添加调试设备。由于我这边已添加,则不再赘述,略过。
在这里插入图片描述
下面进行申请描述文件:

在证书管理页面选择 “Profiles”,可查看到已申请的所有描述文件,点击页面上的加号来添加一个新的描述文件:
在这里插入图片描述
在 “Development” 栏下选中 “iOS App Development”,点击“Continue”按钮:
在这里插入图片描述
这里要选择之前创建的 “App ID” (这里是“io.dcloud.hellouniapp”),点击“Continue”:
在这里插入图片描述
接下来选择需要绑定的证书,这里建议直接勾选 “Select All”,点击“Continue”:
在这里插入图片描述
选择授权调试设备,这里建议直接勾选 “Select All”,点击 “Continue”:
在这里插入图片描述
输入描述文件的名称(如“HelloUniAppProfile”), 点击 “Generate” 生成描述文件:
在这里插入图片描述
点击“Download”下载保存开发描述文件(文件后缀为 .mobileprovision)

在这里插入图片描述
完成!!!

1.6 申请发布证书和描述文件——distribution——需要苹果本和上面生成的请求文件

申请发布(Production)证书

在证书管理页面选择 “Certificates" 可查看到已申请的所有证书(TYPE:Development 为开发证书,Distribution为发布证书),点击页面的加号来创建一个新的证书:
在这里插入图片描述

在 “Software” 栏下选中 “App Store and Ad Hoc”,点击 “Continue”:
在这里插入图片描述

接下来同样需要用到之前生成的证书请求文件,点击“Choose File…”选择刚刚保存到本地的 “CertificateSigningRequest.certSigningRequest”文件,点击 “Continue” 生成证书文件:
在这里插入图片描述
生成证书成功,选择“Download” 将证书下载到本地 (ios_production.cer):
在这里插入图片描述

同样双击保存到本地的 ios_production.cer 文件将证书导入到 “钥匙串访问”工具中,可以在证书列表中看到刚刚导入的证书,接下来需要导出 .p12 证书文件,选中导入的证书,右键选择 “导出…”:
在这里插入图片描述

输入文件名、选择路径后点击 “存储”:
在这里插入图片描述

输入密码及确认密码后点击 “好”:
在这里插入图片描述

至此,我们已经完成了发布证书的制作(得到了 xxx.p12 证书文件),接下来,继续生成发布描述文件

申请发布 (Distribution) 描述文件
在证书管理页面选择 “Profiles”,可查看到已申请的所有描述文件,点击页面上的加号来添加一个新的描述文件:
在这里插入图片描述
在 “Distribution” 栏下选中 “App Store”,点击“Continue”按钮:
在这里插入图片描述

这里要选择之前创建的 “App ID” (这里是“io.dcloud.hellouniapp”),点击“Continue”:
在这里插入图片描述

接下来选择需要绑定的发布证书(iOS Distribution),这里勾选刚刚生成的发布证书”,点击“Continue”:
在这里插入图片描述

接下来输入描述文件的名称(如“HelloUniAppProfileDistribution”), 点击 “Generate” 生成描述文件:
在这里插入图片描述

然后点击 “Download” 将描述文件下载到本地(文件后缀为 .mobileprovision)
至此,我们已经得到了发布证书(.p12)及对应的发布描述文件(.mobileprovision)

2.证书申请完了,就可以进行uniapp的云打包了

2.1 更改版本号,便于检查更新

在这里插入图片描述

2.2 云打包

在这里插入图片描述

2.3 广告取消——如果有默认勾选且不可取消的广告,则需要在uniapp后台进行取消

uniapp取消开屏广告的操作步骤:https://www.niftyadmin.cn/n/4956429.html?action=onClick

2.4 打包报错的几个坑

Command line invocation:
/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild archive -sdk iphoneos15.2 -project [PackagePath]/HBuilder.xcodeproj -archivePath [PackagePath]/XArchive/HBuilder.xcarchive -scheme HBuilder CONFIGURATION=Release
在这里插入图片描述
解决办法:由于我用到了扫描和相册,则最新版的hbuilderX需要手动勾选上对应的模块才可以。
在这里插入图片描述
打包完成后,生成一个可以下载ipa文件的链接,点击链接下载即可。

3.使用香蕉云编进行ipa文件的构建和屏幕截图生成

由于在app store发布网站上,需要用到构建版本和屏幕截图:如下:

在这里插入图片描述
在这里插入图片描述

香蕉云编的链接:https://www.yunedit.com/update/appstore/list

在这里插入图片描述
在这里插入图片描述
注意上面的专用密码:不是苹果开发者账号的密码,而是需要专门生成的专用密码。
具体操作步骤可以查看截图中的教程来处理,超级简单。

构建版本报错的可能性:
1.版本冲突:如果没有更改版本号就生成,则会提示 已经上传过此版本
2.报错:就是上面设备和模块的问题了

在这里插入图片描述
这个香蕉云编也可以生成ios证书,这个我研究一下后再补充。

更多推荐

流媒体弱网优化之路(机器学习应用)——了解我们的网络模型

流媒体弱网优化之路(机器学习应用)——了解我们的网络模型——我正在的github给大家开发一个用于做实验的项目——github.com/qw225967/Bifrost目标:可以让大家熟悉各类Qos能力、带宽估计能力,提供每个环节关键参数调节接口并实现一个json全配置,提供全面的可视化算法观察能力。欢迎大家使用——文

医疗革命的关键推手,看AIGC弥合医疗差距的未来之路

随着科技的飞速进步,医疗水平在过去几十年里取得了巨大的突破。这些科技创新不仅改变了我们对健康和医疗的认知,也深刻地塑造了社会的现状。其中,人工智能作为医疗领域的一项前沿技术,正以前所未有的方式影响着我们的生活。它不仅提高了医疗水平,还为社会带来了全新的挑战和机遇。但医疗差距始终一直存在,不同地区和人群之间医疗服务和资源

9.21(复习9.20,9.17,9.13)

1.转轮法对于点查询和范围查询比较复杂,散列划分适合点查询,范围划分适合点查询和范围划分2.XML数据库适合管理复杂数据结构的数据集,当数据本身具有层次特征时,由于XML数据格式能够清晰表达数据的层次特性。9.201.混合水平是水平分片,垂直分片和导出分片的混合2.关联挖掘是用于发现数据库中数据间的关联习惯3.提取游标

QT配置MySQL数据库 && ninja: build stopped: subcommand failed

QT配置MySQL数据库我当前的软件版本:QTCreator10.0.2(community),MingW6.4.3(QT6),MySQL8.0。MySQL不配置支持的数据库有QList("QSQLITE","QODBC","QPSQL"),这个时候是不支持MYSQL数据库的,所以需要进行配置。通常老版本的QT配置是通

【从0学习Solidity】9. 常数 constant和immutable

【从0学习Solidity】9.常数constant和immutable博主简介:不写代码没饭吃,一名全栈领域的创作者,专注于研究互联网产品的解决方案和技术。熟悉云原生、微服务架构,分享一些项目实战经验以及前沿技术的见解。关注我们的主页,探索全栈开发,期待与您一起在移动开发的世界中,不断进步和创造!本文收录于不写代码没

vue2的基础知识巩固

一、定义:是一个渐进式的JavaScript框架二、特点:减少了大量的DOM操作编写,可以更专注于逻辑操作分离数据和界面的呈现,降低了代码耦合度(前端端分离)支持组件化开发,更利于中大型项目的代码组织vue2核心功能:响应式数据与差值表达式:先实例化vue,在内部设置el(选择器,这个vm实例对谁生效),data声明响

从入门到出师,关于学习RPA的建议!

随着人工智能技术的不断发展,RPA(RoboticProcessAutomation)作为一种新型的自动化生产工具,正逐渐成为IT领域的热门话题。越来越多的初学者和职场人士开始关注和学习RPA技术,以提升个人技能和职业竞争力。一、了解RPA基础知识学习RPA之前,需要了解其基础知识。包括什么是RPA,RPA的应用场景,

面试题:RocketMQ 如何保证消息不丢失,如何保证消息不被重复消费?

文章目录1、消息整体处理过程Producer发送消息阶段手段一:提供SYNC的发送消息方式,等待broker处理结果。手段二:发送消息如果失败或者超时,则重新发送。手段三:broker提供多master模式,即使某台broker宕机了,保证消息可以投递到另外一台正常的broker上。Broker处理消息阶段手段四:提供

LeetCode19.删除链表的倒数第N个节点

我先用的第一种方法,先第一次遍历算出有节点数num,然后第二次遍历找到第num-n个节点,删除它的下一个节点,也就是第num-n节点.next=num-n节点.next.next(),然后需要注意的是找到第num-n个节点,指针需要从头节点移动num-n-1次,但是后来一直报空指针异常,我反复的检查,一步一步自己推,死

身份和访问管理解决方案:混合型IAM

对于依赖于本地IT基础结构和传统安全模型的组织,可以更轻松地验证和授权企业网络内的所有内容,包括设备、用户、应用程序和服务器。尝试从公司网络外部获取访问权限的用户使用虚拟专用网络(VPN)和网络访问控制(NAC)进行身份验证。随着云和远程工作的日益普及,新的企业架构正在重新定义边界。数据还存储在公司墙外,用户可以通过公

看期权哪个软件更好用?数据比较全面直观的那种?

在介绍期权看盘软件之前,我们先来了解一下期权交易的发展史。2015年,国内首只期权上市交易,2019年深交所期权上市,期权市场越来越火,期权分仓软件也是横空出世发展至今,下文介绍看期权哪个软件更好用?数据比较全面直观的那种?常用的看盘期权软件有:掌上财富、东方财富、同花顺、通达信、文华财经等。一般来说,多数行情走势软件

热文推荐