iOS开发之进阶篇(1)—— 证书、打包上架流程、p12文件

简介: iOS开发之进阶篇(1)—— 证书、打包上架流程、p12文件

iOS开发相关的证书有很多种,iOS开发证书(iOS App Development)、iOS发布证书(iOS Distribution (App Store and Ad Hoc))、网站推送ID证书(Website Push ID Certificate)、Apple Pay付款处理证书(Apple Pay Payment Processing Certificate)等等。Xcode 11以后,又新增了Apple Development和Apple Distribution,前者是iOS/macOS/tvOS/watchOS各平台开发证书的结合,后者是这些平台的发布证书结合。


种类繁多,我们挑选一般的App从开发到上架App Store所必备的证书。


以Xcode 11版本以后的开发环境为例,其实只要具备两个证书就够了:苹果开发证书(Apple Development)、苹果发布证书(Apple Distribution)。


Apple Development


苹果开发证书,包括 iOS / macOS / tvOS / watchOS 各平台的开发证书。


当我们进行真机调试的时候,就需要安装这个证书。证书是安装在Mac电脑的“钥匙串访问”里面的,只要安装一次即可,并不是每创建一个工程就都要安装一次证书。


要进行真机调试,我们一般需要以下步骤:


生成证书申请文件


打开Mac的钥匙串访问App


证书助理=》从证书颁发机构请求证书


填写相关信息


选择存储到本地(比如桌面),因为我们后面生成证书的时候会用到这个文件。


生成开发证书


登录Apple developer, 选择证书,添加之。


选择App Developer,continue


然后点击Choose File,上传我们刚才生成的申请文件(.certSigningRequest)。continue


直至生成了开发证书显式于列表中(不同电脑会生成不同的开发证书):


安装开发证书


点击你刚生成的证书,下载之。


双击安装之。


然后我们就可以在钥匙串访问的App里面的我的证书里看到安装成功了


愉快地进行真机开发调试


Apple Distribution


苹果发布(分布)证书,包括 iOS / macOS / tvOS / watchOS 各平台的发布证书,可用于发布商店版(App Store) 和 内测版(Ad Hoc)。


发布App,一般需要以下步骤:


生成证书申请文件,这个申请文件在前面的开发证书已经生成了,可以继续使用。


生成发布证书


同样,登录Apple developer,新建一个证书,然后选择Apple Distribution。


一个账号最多只能生成三个发布证书,我这个账号已经申请满了,所以是灰色不可选。


上传的时候选择一个发布证书就行了,证书有效期是一年,到期后App Store上的现有App将不受影响。但是,不能使用过期或已撤销证书来更新App,可生成新的证书继续更新App。


后面和申请开发证书一样,Choose File上传申请文件然后下一步直至生成发布证书:


3. 安装发布证书


下载之。


钥匙串访问里查看:


4. 愉快地发布App


App打包上架流程


App Store部分


php 从数据库提取二进制图片的处理代码


pdf


0星


超过10%的资源


28KB


下载


因为我们要上传安装包到App Store,所以得先App Store Connect里面创建一个App,而创建App是基于套装ID来创建的。所以我们第一步是创建套装ID。


创建套装ID


进入开发者网站里的证书设置


创建App ID


填写信息,Bundle ID与工程中的Bundle Identifier一致。


创建成功如下:


接着,创建描述文件Profiles,此描述文件即对应App Store Connect里的套装ID。


选择App ID,选择发布证书等等创建好。


然后到App Store Connect里创建App


填写信息


套装ID选择刚才在证书配置里面创建好的App。


至此创建App完毕。接下来在Xcode打包上传。


Xcode部分


首先我们看看TARGETS的Architecture配置


在Build Active Architecture Only选项里,Debug选择Yes表示调试的时候只编译生成当前机型对应的架构,这样使得编译调试的时候更快;Release选择No表示发布时编译Valid Architectures中的所有架构,如果不编译某个架构,那么这个架构对应的机型将无法安装这个安装包。


各机型的处理器对应架构


模拟器32位处理器 – i386


模拟器64位处理器 – x86_64


真机32位处理器 – armv7、armv7s(armv7兼容armv7s)


真机64位处理器 – arm64架构


具体机型对比


armv6: iPhone、iPhone 2、iPhone 3G、iPod Touch(第一代)、iPod Touch(第二代)


armv7: iPhone 3Gs、iPhone 4、iPhone 4s、iPad、iPad 2


armv7s: iPhone 5、iPhone 5c (armv7兼容armv7s)


arm64(无armv64): iPhone 5s之后机型


现在来说,我们只需要支持armv7和arm64这两个架构就可以了。


这里顺便提一下,如果我们使用的第三方库不支持某些框架的话,那么我们是无法使用到所缺失框架对应的机型上的。比如说,我们某些库不支持 i386/x86_64 框架,那么我们将无法使用模拟器来运行代码。


接着我们的打包上架流程。


图太多了,就挑几个主要流程吧。。。


至于App信息填写审核等步骤这里就不讨论了。。。


.p12文件


前面说过发布证书一个开发者账号最多只能创建三个。而且这个证书是和电脑绑定的,也就是说,A电脑创建的证书不能用在B电脑上。那么问题来了,从A电脑拷贝一个工程到B电脑,B电脑倒是可以自己创建开发证书来调试这个工程,可如果发布证书满了不能再创建,这时候就发布不了了。


如果想在B电脑上也能发布App,那么就需要从A电脑导出发布证书(里面含有私钥):


起名,加密等


导出的文件即为p12后缀的文件,然后放到B电脑中安装,即可在钥匙串中生成发布证书(包含私钥),就可以用于发布App了。

目录
打赏
0
0
0
0
20
分享
相关文章
【05】2025年1月首发完整版-篇幅较长-苹果app如何上架到app store完整流程·不借助第三方上架工具的情况下无需花钱但需仔细学习-优雅草央千澈详解关于APP签名以及分发-们最关心的一篇来了-IOS上架app
【05】2025年1月首发完整版-篇幅较长-苹果app如何上架到app store完整流程·不借助第三方上架工具的情况下无需花钱但需仔细学习-优雅草央千澈详解关于APP签名以及分发-们最关心的一篇来了-IOS上架app
145 75
IOS上架APP Store时预览图尺寸
IOS上架APP Store时预览图尺寸
849 3
ios应用打包、安装和上架攻略
假如是普通的证书或普通company证书只能上架才能安装(测试的话有其他安装方法,那是另外的话题),假如是企业类型的in house证书,则可以通过在线安装的方式,比如通过上传到一些分发平台,比如香蕉云编或蒲公英生成安装码扫码安装。
93 2
|
5月前
|
解决IOS上架App Store后显示语言为英文的问题
解决IOS上架App Store后显示语言为英文的问题
121 0
Flutter IOS 打包上架踩坑
Flutter IOS 打包上架踩坑
152 0
iOS-打包上架构建版本一直不出现/正在处理/自动消失
iOS-打包上架构建版本一直不出现/正在处理/自动消失
179 0
IOS开发---菜鸟学习之路--(九)-利用PullingRefreshTableView实现下拉刷新
本章主要讲解如何利用PullingRefreshTableView实现下拉(上拉)刷新的操作  PullingRefreshTableView 实现上下拉刷新的例子百度有很多,大家可以自己搜索下,先看下那些例子(一般搜索过来的都是一样的大家反正先把那部分内容先了解一下,然后再看本文档比较好。
896 0
IOS开发---菜鸟学习之路--(十)-实现新闻详细信息浏览页面
前面已经将了上下拉刷新 实现了上下拉刷新后我们的第一级界面就做好,接下来我们就需要实现 新闻详细信息浏览了 我个人认为一般实现新闻详细页面的方法有两种(主要是数据源的不同导致了方法的不同) 第一种是本身新闻就是一个链接地址,同时是已经处理好的适应手机浏览的网页 对于这种类型的数据源,我们直接在页面中放一个WebView控件,然后将URL传递过去就好了 另一种则是普通的包含标题、时间、内容、图片等数据结构的新闻内容(我们要实现的也是这种新闻,因为实现了这种之后, 我们就可以实现任何自定义的详细信息的页面了。
893 0

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等