抖圈

  1. 公司动态

没有MAC电脑,如何申请苹果开发证书、上架APP Store?

浏览:1,258作者:赣州抖圈网络科技时间:2025-05-08 19:29:37

【引言】?使用uni-app进行跨平台APP开发时,苹果ios平台最终还是要通过APP Store渠道发布,调试时uni-app基座也必须使用开发者证书签名后才能安装。对于使用MAC电脑的开发者,倒也不存在什么大障碍,照着文档操作就行,但是对于不使用MAC电脑,身边也没有MAC电脑,采购预算又紧张的开发者和团队(笔者就是这类,穷是一方面^_^,另不方便是不习惯MAC的操作、使用也不高频,故不划算),就面临着证书申请、ipk包上传两个棘手问题了。而且使用windows环境解决这两个问题,uni-app平台并没有给出解决方案,后经过笔者的一番摸索,最终找到了不使用MAC电脑,直接在windows环境下,申请苹果证书、上传ipk包到APP Store的方案,在此跟大家分享,欢迎批评指正。


一、苹果开发者账号申请

开发者账号的申请和应用标识符的配置等,不就在这里赘述了,这些可以搜索到大量完整细致的介绍文档,也可以直接参考uni-app的指定文档ask.dcloud.net.cn/artic,在这里主要介绍如何在windows环境下申请证书上传ipk安装包。

二、开发证书申请

在我们调试、推送、发布时都需要用到开发者证书,所以在开发开始之前,最重要的便是申请到开发者证书。而这一步我们需要借助OpenSSL工具来完成,当然若您连这个工具也不想安装,也可以使用诸如?www.myssl.com这样的在线工具来完成。

2.1、CSR文件生成

申请证书前需要生成证书申请CSR文件,也就是CertificateSigningRequest.certSigningRequest上传至苹果开发者中心,再根据CSR文件内的信息,为我们签发证书,OpenSSL替代命令如下:

A.先生成证书私钥

#?这非常重要,要妥善保管
openssl?genrsa?-out?privatekey.key?2048

B.生成CSR文件

#?privatekey.key是上一步生成的私钥
openssl?req?-new?-sha256?-key?privatekey.key?-out?my.csr?-subj?"/C=CN/ST=Beijing/L=Beijing/O=YourOrganizationName/OU=YourDepartmentName/CN=yourdomain.com"
#?-C,?-ST,?-L,?-O,?-OU,?-CN?分别代表国家代码、省份、城市、组织名称、部门名称和通用名称

1.jpg

这样CSR文件就生成好了,创建证书时,上传my.csr文件就可以了,这一步也可以直接使用myssl上的CSR在线生成工具,类型选择代码签名证书即可。

2.2、p12证书转换

苹果开发者证书签发成功后,是.cer格式,如ios_development.cer,而用于安装包签名,需要使用.p12格式,就需要进行一次转换,在MAC电脑下,是通过先安装.cer格式证书,再导出的方式完成的,OpenSSL替换命令如下:
#?其中private.key是2.1节生成的私钥
openssl?pkcs12?-export?-out?output.p12?-inkey?private.key?-in?ios_development.cer
注意: 经过笔者的测试,在OpenSSL v3版本下转换的.p12格式证书,在安装包签名时无法使用,需要使用低版本的OpenSSL转换,因为时间的关系,当时直接用低版本转换,并没有深究转换后的格式差别,应该能通过参数修正。当然也可以使用MySSL上面的在线证书转换格式直接转换成PKCS12格式。

三、ipk安装包上传

在接触IOSAPP开发前,笔者一直想当然的认为,将应用打包成.ipk安装包签好名,在提交上架APP Store时,直接在网页上传.ipk包即可^_^,没想到还必须通过开发工具上传,这个问题成了整个发布过程的最后一道拦路虎,着实恼火。 后来经过一番搜索,网上不少平台提供在线代传或桌面工具上传的产品,一番对比后发现,收费是一方面,最大的问题是要向这类工具暴露账号、证书、密钥等信息,安全性不太放心,便放弃了使用。 后经过各方找寻,苹果官方提供了iTMSTransporter命令行工具供上传等操作,其实前面提到的这类辅助工具也大多通过调用此工具来实现的上传。

3.1、下载安装iTMSTransporter

从官网下载安装最新版本的iTMSTransporter https://help.apple.com/itc/transporteruserguide/#/apdAbeb95d60 ,iTMSTransporter是基于java开发的,所以需要安装java运行时。

3.2、创建开发账号的专用密码

iTMSTransporter上传时,需要使用开发者账号的appleid的专用密码进行身份认证,所以需要先创建开发者账号的创建用密码,登录 appleid.apple.com创建。

2.jpg


3.3、创建.itmsp文件夹

  • 创建先在发布目录创建一个文件夹,如xxxx.itmsp;
  • 将打包并签名好的.ipk文件夹复制到此文件夹,如xxx.ipk ;
  • 在文件夹内创建一个metadata.xml的文本文件,内容如下:



?
??
???
????xxx.ipa
????733747f3231774ee0e6fba5234811
????27691282
???
??
?

3.jpg


iTMSTransporter?-m?upload?-f?xxx.itmsp?-p?SPE-SPSER?-u?"develop@app.com"?-asc_provider?XEWFWIE

#?-f?指定为刚刚创建的xxx.itmsp文件夹;
#?-p?3.1创建的专用密码;
#?-u?appleid账号邮箱
#?-asc_provider?开发账号的团队ID,可以登录https://developer.apple.com/account查看


上一篇:花了2天,成功将AI运动功能集成至「微搭」搭建的小程序 下一篇:AI运动小程序插件,发布v1.7.0更新,新增评测模式
【网站地图】