iOS 生成证书、描述文件、打包上架Appstore详细流程

简介

我打算将生成证书,描述文件、上架App的步骤一步一步写下来,于是就有了这篇文章

编译环境

系统版本:macOS Sierra 10.12.6

Xcode: v9.2(9C40b)


1.开发者账号

苹果官方开发者网站

开发者证书信息.jpg

开发者账号分为四类:

1 个人开发者账号 Individual

个人的是比较好申请的,相比于公司开发者账号,不需要 申请 邓白氏编码 不需要公司的个人信息,填写的是一些个人的资料即可,审核周期短。完全是以个人身份去发布App。它的费用是 $99.

申请入口

费用 :$99
Devices: 100台
协作人数 : 1人
能否上架AppStore: 能
2 公司开发者账号 Company

公司的开发者账号申请就比较麻烦,需要申请 邓白氏编码,这里可能需要1个月的时间,第三方机构才会把白皮书批下来。然后是填写公司的信息,税务方面的资料。审核周期大概1个月,费用 $99

申请入口

3 企业级开发者账号 Enterprise

苹果设计这个类似的开发者账号,是让企业开发让内部员工使用的App,这种类似的App是不允许上架AppStore的。相对于公司开发者账号,他没有设备数限制,可以无限量的绑定设备。当然,它的费用也更加高,费用 $299

申请入口

4 高校、教育机构 开发者账号 University

这类证书是免费的,具体申请流程应该跟个人大同小异。其实苹果公司一直是在拉拢高校,苹果设备针对高校都是有一定折扣的,有专门的高校计划

个人开发者账号 公司开发者账号 企业级开发者账号
费用 $99 $99 $299
绑定设备数量 100台 100台 不做限制
协作人数 仅限一人 不做限制 不做限制
能否上架AppStore 可以 可以 不允许

苹果官方介绍各种证书,以及比较


2.证书以及描述文件

1 申请开发者账号

iOS开发之苹果企业开发者账号申请流程

2 生成证书

(1)首先登录账号

开发者中心

(2)选择 Certificates,IDs&Profiles

账号主界面.png

进入之后:

证书,描述文件界面

(3)先生成Development调试证书
Certificates 中选择 Development

image.png

在底部选择 Continue 进入下一个界面

image.png

这里需要从Mac电脑生成一个证书签名请求

image.png

首先我们打开Mac的钥匙串界面

image.png

钥匙串访问 偏好设置中选择证书助理 中选择 从证书颁发机构请求证书

image.png

填写资料,保存到磁盘

image.png

将证书存储到桌面

image.png

证书长这个样子

image.png

这样,我们就得到我们想要的证书请求。在前一个界面选择刚才生成的证书请求

选择Continue

image.png

选择 Download 保存到本地

到这里 调试证书生成完毕

注意
这个证书请求时通用的,我们生成发布证书,推送证书时,都是使用这个证书请求。

发布证书

发布证书只是这里勾选不一样

image.png
3.Identifiers

Identifiers 就是告诉证书,你是哪个项目。

点击添加AppIDs

添加AppIDs.png

点击进入

AppIDs 介绍

填写Boundle ID

Boundle ID

勾选App 服务

App Services

选择Continue,对刚才填写的资料,这里都可以看到

AppID 资料

最后,需要在底部 选择 Register 注册。

看到这里,已经注册完成。

AppID注册完毕
4. Devices 绑定测试设备

点击添加测试设备

测试设备

填写设备UDID

设备UDID

填写完毕 选择Contiune

选择 Register 注册即可

到这里,添加Devices 完成

5. Provisioning Profiles 描述文件

通俗的来说,上文我们生成的证书就是告诉苹果我们是哪台电脑生成的,AppIDs 就是告诉苹果我们哪个项目需要他,最终结合二者产生一个描述文件

image.png

点击添加

勾选描述文件类型

选择绑定的AppID,Contiune继续

需要绑定的AppID

选择绑定的开发者证书, Contiune继续

需要绑定的证书

选择绑定的测试设备,Contiune继续

需要绑定的测试设备

生成的描述文件信息,需要你对他进行命名 ,Contiune继续

image.png

到这里就生成完毕了,点击Download 跟刚才的证书保存在一起

image.png

生成完毕,可以在这里体现出来

描述文件生成完毕

发布描述文件 以及AdHoc模式都是这样生成

多人开发时,我们需要将证书以及描述文件共享出来,上面提到,证书是跟电脑绑定在一起的,这时,我们可以到处.p12 文件,这样,就可以实现多人协同开发

将保存的证书,描述文件,双击安装。

打开钥匙串访问,选择 我的证书,这里我们可以看到刚才安装的证书,

本地安装的证书

选择你需要共享的证书,双击,然后选择导出

生成.p12文件

这里需要你填写密码,也可以不填写,直接保存。

.p12文件填写密码

这里讲的是开发证书,生成.p12信息交换文件,发布证书,推送证书都是一个步骤

描述文件是生成不了.p12 文件的

我们生成描述文件,安装好之后,就可以在工程中选择了

工程设置

现在,你可以开始真机调试了,并且发布证书也安装完毕了,到你需要打包上架时,这里都不需要更改

当然,你也可以在使用 Automatically manage signing,这个我在 2016年 使用Xcode 8 时,打包上架不成功

删除描述文件

当我们更新了描述文件,比如添加了测试设备,增加了App 服务时,需要重新安装描述文件,但是发现一直不成功。我们可以删除旧的描述文件,再安装新的描述文件

~/Library/MobileDevice/Provisioning Profiles  

我们进入这个目录,就可以看到整个Xcode中安装的描述文件,选择你需要删除的即可

在2014年以前,真机也会出现这种情况,那时候需要安装一个软件,删除真机内的描述文件才可以。时代在进步,现在已经不会出现这种情况了,我也忘记了


3.Xcode

官方唯一指定开发IDE.

上架时注意:

  1. Xcode 不能为bate版本
  2. MacOSX 不能为bate版本

在 2015年,Xcode爆出一个 XcodeGhost 事件 详情可见

我们必须确保Xcode是官方版本,最好是在官网下载或者AppStore 下载,如果使用了被植入了恶意代码的Xcode,用户使用了你上架的App,会直接作为肉鸡。

检查方法:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs

正常的SDKS 目录下 是没有Frameworks/CoreServices.framework/ 这一级目录的

而被恶意感染的Xcode ,它的目录是这样的:

Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/Library/Frameworks/CoreServices.framework/
没有被污染的Xcode

4. 在iTunes Connect创建 App

(1)进入开发者网站,点击进入


image.png
image.png

(2)点击+ 号,新建App


image.png

(3)填写App信息


image.png

(4)AppStore中显示的信息


image.png

点击进入分级,需要你根据App自身情况来勾选,理论上17+之后的是上不了架的


image.png

(5)在 iOS App中填入关键的信息,在这里你需要上传App 屏幕快照,版本内容,技术支持网址,宣传文本,描述文件,版权所属人,联系人。还需要你打包上传的二进制文件等等

5. 打包、上架项目

在项目中,选择 Product 中选择 Archive ,同时工程需要选择 Generic iOS Device

image.png

在编译的时候比较耗时。

image.png

这时编译成功,这时,你可以选择上传App Store。

选择 上传,这里我们最好都勾选上

image.png

在这里,我们需要选择发布描述文件

image.png

这里包含之前勾选的一些信息,点击Upload

上传成功后,我们进入 iTunes Connect 选择 iOS App 中,构建版本中选择刚才上传的二进制文件。 通常,我们上传成功之后都是需要等待20分钟左右,苹果需要处理这个二进制文件。

检测广告标识

进入项目中的根目录中,通过它就可以检测到项目中哪些地方使用到了 广告标识

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

推荐阅读更多精彩内容

  • 一、前言: 作为一名iOSer,把开发出来的App上传到App Store是必要的。下面就来详细讲解一下具体流程步...
    夭Y夭阅读 1,373评论 3 6
  • 引言关于开发证书配置(Certificates & Identifiers & Provisioning Prof...
    molake阅读 48,191评论 7 62
  • 一、前言:作为一名iOSer,把开发出来的App上传到App Store是必要的。下面就来详细讲解一下具体流程步骤...
    petry阅读 532评论 0 2
  • 11月18,星期五,美好的周末即将到来,我又掐指算算周末该做点啥。一早醒来,习惯性的点开朋友圈,看到杭州毅行团发布...
    Miss童阅读 582评论 2 3
  • 1. 时间成本:学会计算时间成本,让每一分钟都发挥出它的价值,在对的时间做对的事。 2. GTD:大脑就像一个储存...
    姜杨Ada阅读 236评论 0 0