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

目录

  • 版本
  • 证书
  • App打包上架流程
  • .p12文件

版本

  • Xcode 11.3.1

证书

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电脑的“钥匙串访问”里面的,只要安装一次即可,并不是每创建一个工程就都要安装一次证书。
要进行真机调试,我们一般需要以下步骤:

  1. 生成证书申请文件
    打开Mac的钥匙串访问App


    钥匙串访问

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


    请求证书

    填写相关信息
    相关信息

    选择存储到本地(比如桌面),因为我们后面生成证书的时候会用到这个文件。
    证书申请文件
  2. 生成开发证书
    登录Apple developer, 选择证书,添加之。


    添加证书

    选择App Developer,continue


    开发证书

    然后点击Choose File,上传我们刚才生成的申请文件(.certSigningRequest)。continue
    截屏2020-03-13下午2.55.30.png

    直至生成了开发证书显式于列表中(不同电脑会生成不同的开发证书):
    开发文件列表
  3. 安装开发证书
    点击你刚生成的证书,下载之。


    下载证书

    双击安装之。


    安装证书

    然后我们就可以在钥匙串访问的App里面的我的证书里看到安装成功了
    查看证书
  4. 愉快地进行真机开发调试

Apple Distribution

苹果发布(分布)证书,包括 iOS / macOS / tvOS / watchOS 各平台的发布证书,可用于发布商店版(App Store) 和 内测版(Ad Hoc)。
发布App,一般需要以下步骤:

  1. 生成证书申请文件,这个申请文件在前面的开发证书已经生成了,可以继续使用。
  2. 生成发布证书
    同样,登录Apple developer,新建一个证书,然后选择Apple Distribution。


    生成发布证书

一个账号最多只能生成三个发布证书,我这个账号已经申请满了,所以是灰色不可选。
上传的时候选择一个发布证书就行了,证书有效期是一年,到期后App Store上的现有App将不受影响。但是,不能使用过期或已撤销证书来更新App,可生成新的证书继续更新App。

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


查询发布证书
  1. 安装发布证书
    下载之。


    下载发布证书

    钥匙串访问里查看:


    查看发布证书
  2. 愉快地发布App

App打包上架流程

App Store部分

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

  1. 创建套装ID
    进入开发者网站里的证书设置


    Apple developer

创建App ID


创建ID

选择创建App IDS

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


填写信息

创建成功如下:
查询App ID

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

选择App Store

选择刚才的App ID

选择App ID,选择发布证书等等创建好。
然后到App Store Connect里创建App


创建App

填写信息
新建App

套装ID选择刚才在证书配置里面创建好的App。
至此创建App完毕。接下来在Xcode打包上传。

Xcode部分

首先我们看看TARGETS的Architecture配置


archive

在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 框架,那么我们将无法使用模拟器来运行代码。
接着我们的打包上架流程。
图太多了,就挑几个主要流程吧。。。


Archive
Archives
App Store
自动管理签名
上传成功

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

.p12文件

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


导出证书

起名,加密等


证书信息

p12

导出的文件即为p12后缀的文件,然后放到B电脑中安装,即可在钥匙串中生成发布证书(包含私钥),就可以用于发布App了。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,271评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,275评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,151评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,550评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,553评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,559评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,924评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,580评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,826评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,578评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,661评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,363评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,940评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,926评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,156评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,872评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,391评论 2 342