没有MAC电脑,如何申请苹果开发证书、上架APP Store?
【引言】 使用
uni-app
进行跨平台APP开发时,苹果ios
平台最终还是要通过APP Store
渠道发布,调试时uni-app
基座也必须使用开发者证书签名后才能安装。对于使用MAC电脑的开发者,倒也不存在什么大障碍,照着文档操作就行,但是对于不使用MAC电脑,身边也没有MAC电脑,采购预算又紧张的开发者和团队(笔者就是这类,穷是一方面^_^,另不方便是不习惯MAC的操作、使用也不高频,故不划算),就面临着证书申请、ipk包上传两个棘手问题了。而且使用windows
环境解决这两个问题,uni-app
平台并没有给出解决方案,后经过笔者的一番摸索,最终找到了不使用MAC
电脑,直接在windows
环境下,申请苹果证书、上传ipk包到APP Store
的方案,在此跟大家分享,欢迎批评指正。
一、苹果开发者账号申请
开发者账号的申请和应用标识符的配置等,不就在这里赘述了,这些可以搜索到大量完整细致的介绍文档,也可以直接参考uni-app
的指定文档https://ask.dcloud.net.cn/article/152,在这里主要介绍如何在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 分别代表国家代码、省份、城市、组织名称、部门名称和通用名称
这样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安装包上传
在接触IOS
APP开发前,笔者一直想当然的认为,将应用打包成.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创建。
3.3、创建.itmsp文件夹
- 创建先在发布目录创建一个文件夹,如
xxxx.itmsp
;- 将打包并签名好的.ipk文件夹复制到此文件夹,如
xxx.ipk
;- 在文件夹内创建一个
metadata.xml
的文本文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<package xmlns="http://apple.com/itunes/importer" version="software5.4">
<software_assets apple_id="666666" bundle_short_version_string="1.2.0" bundle_version="15" bundle_identifier="com.xxx.xxxx" app_platform="ios">
<asset type="bundle">
<data_file>
<file_name>xxx.ipa</file_name>
<checksum type="md5">733747f3231774ee0e6fba5234811</checksum>
<size>27691282</size>
</data_file>
</asset>
</software_assets>
</package>
参数说明
apple_id
:要发布的应用的apple id,纯数字,可以登录appstoreconnect中的【App信息】->【综合信息】中查到。
bundle_identifier
:要发布的应用的bundle id,可以登录appstoreconnect中的【App信息】->【综合信息】中查到。
bundle_short_version_string
:当前上传包的发行版本号。
bundle_version
:纯数字,唯一版本号,每次上传版本号必须比原来大,不管是否审核通过。
<file_name>
:对应刚刚拷贝进目录中的安装包文件名,如xxx.ipk
。
<checksum>
:安装包xxx.ipk
文件的校验和MD5值,可以找文件校验和生成工具生成,注意这个值每次打包后都将变化。
<size>
:安装包xxx.ipk
文件的大小,单位Byte,可以右击.apk文件【属性】查看。
3.4、执行上传
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查看
四、后记
虽然iTMSTransporter
上传模式,支持通过-f参数直接指定xxx.ipk这样上传,但是会提示The asset description specified is not a file: AppStoreInfo.plist
错误,而.plist是无法在windows平台生成的(最起码目前版本的不支持),所以切记一定要用.itmsp文件夹加描述文件的方式。好了本次就分您分享到这,更多的uni-app、微信小程序、AI运动小程序、AI体没小程序等开发欢迎批评交流。
没有MAC电脑,如何申请苹果开发证书、上架APP Store?的更多相关文章
- 苹果开发证书相关BLOG与Delphi IOS环境安装(超详细)
注:有好的资源,请添加了上传,上传后,通知管理员,删除旧文件,累积相关的学习资源,方便新手学习 一.相关论坛http://www.2ccc.com/ delphi 合子 www.2pascal.com ...
- 2018最新苹果APP上架App Store流程(超详细)
本文转发:https://blog.csdn.net/xxw888/article/details/73618837 2018最新整理iOS app上架app详细教程 上架iOS需要一个付费688的开 ...
- windows上传ipa到苹果开发者中(app store)的方法
假如你已经使用过苹果开发者中心上架app,你肯定知道在苹果开发者中心的web界面,无法直接提交ipa文件,而是需要使用第三方工具,将ipa文件上传到构建版本,开发者中心才能在构建版本里选择构建版本上架 ...
- IT连创业系列:说说苹果商店AppStore上架App应用前后遇到的那些神坑
前言: IT连创业的这个系列,又隔空了一个多月了. 不知道为什么,最近写文的冲动感下降了很多,如果不是因为特别忙,大概就因为上了年纪的原因了. 群里关注我创业的朋友,一直都在问,啥时候有新的文章讲述创 ...
- 关于苹果开发证书失效的解决方式(2016年2月14日Failed to locate or generate matching signing assets)
前言: 从2月14日開始,上传程序的同学可能会遇到提示上传失败的提示. 而且打开自己的钥匙串,发现所有的证书所有都显示此证书签发者无效. Failed to locate or generate ma ...
- 如何申请iOS开发者证书/发布app到手机
申请iOS开发者证书 http://blog.csdn.net/htttw/article/details/7939405 如何向App Store提交应用 http://www.cocoachina ...
- 2015年 10月最新苹果IOS上架App Store商店步骤
1.1.前期工作 首先你需要有一个苹果的开发者帐号,一个Mac系统. 如果没有帐号可以在打开http://developer.apple.com/申请加入苹果的开发者计划.支付99美元每年,怎么申请网 ...
- iOS:2015年07月最新苹果IOS上架App Store商店步骤
苹果官方在2015年05-06月开发者中心进行了改版,网上的APP Store上架大部分都不一样了,自己研究总结一下,一个最新的上架教程以备后用. 原文地址:http://www.16css.com/ ...
- 苹果iOS11重磅改版App Store,开发者应该了解这些
苹果在WWDC2017上重磅发布iOS11,其中一项重大更新就是对App Sore的全新改版,我们一起来看看具体有哪些变化,以及对我们会带来哪些影响. App Store的分类变化 在iOS10以前, ...
- 苹果面临起诉:App Store 涉嫌垄断吗?
今日导读 现代社会,手机在手,啥也不愁.购物不用带钱包,网上支付可以搞定一切:旅游懒得背相机,修图 App 帮你打造最美的自己.看直播.学英语.玩游戏.听音乐,我们的生活已经充斥着各类 App.据悉, ...
随机推荐
- ArcGIS创建渔网工具的使用方法
本文介绍在ArcMap软件中,通过"Create Fishnet"工具创建渔网,从而获得指定大小的矢量格网数据的方法. 首先,我们在创建渔网前,需要指定渔网覆盖的范围.这里 ...
- Windos操作系统下的Zookeeper安装图文教程
凯哥已经准备好最新版本3.9.1且已经配置好了.既获取到配置好的. 获取到凯哥准备的安装后,只需要修改一下配置.将解压包解压后,找到conf文件,里面有个zoo.cfg配置文件.如下图: 下载后con ...
- DVI与VGA有什么区别?
DVI接口:DVI(Digital Visual Interface),即数字视频接口.DVI接口速度快.画面清晰.支持HDCP协议. VGA接口:VGA(Video Graphics Array)即 ...
- Angular Material 18+ 高级教程 – CDK Drag and Drop
前言 CDK Drag and Drop 和 CDK Scrolling 都是在 Angular Material v7 中推出的. 它们有一个巧妙的共同点,那就是与 Material Design ...
- DLA:动态层级注意力架构,实现特征图的持续动态刷新与交互 | IJCAI'24
论文深入探讨了层级注意力与一般注意力机制之间的区别,并指出现有的层级注意力方法是在静态特征图上实现层间交互的.这些静态层级注意力方法限制了层间上下文特征提取的能力.为了恢复注意力机制的动态上下文表示能 ...
- Nuxt Kit API :路径解析工具
title: Nuxt Kit API :路径解析工具 date: 2024/9/22 updated: 2024/9/22 author: cmdragon excerpt: 摘要:本文介绍了Nux ...
- Kubernetes ReplicaSet 控制器(十九)
前面我们一起学习了 Pod 的原理和一些基本使用,但是在实际使用的时候并不会直接使用 Pod,而是会使用各种控制器来满足我们的需求,Kubernetes 中运行了一系列控制器来确保集群的当前状态与期望 ...
- [使用目前最新版]HybridCLR6.9.0+YooAsset2.2.4实现纯C# Unity热更新方案 (一)
1.前言 什么是热更新 游戏或者软件更新时,无需重新下载客户端进行安装,而是在应用程序启动的情况下,在内部进行资源或者代码更新 Unity目前常用热更新解决方案 HybridCLR,Xlua,ILRu ...
- kali安装和升级
实验介绍: kali集成了世界上所有优秀的渗透测试工具 一:在VMware上安装 这里只详细介绍kali在VMware的安装,u盘和物理机上的安装不做详解 在kali官网下载kali镜像iso文件 下 ...
- Windows 10 LTSC 2019(1809) WSL 安装 CentOS 7
1.安装WSL 通过控制面板--程序和功能--启用或关闭WIndows功能,勾选"适用于Linux的Windows子系统". 或者通过管理员权限打开 PowerShel ...