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

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

简介

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

编译环境

系统版本:macOS Sierra 10.12.6

Xcode: v9.2(9C40b)

1.开发者账号

苹果官方开发者网站

开发者账号分为四类:

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

进入之后:

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

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

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

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

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

填写资料,保存到磁盘

将证书存储到桌面

证书长这个样子

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

选择Continue

选择 Download 保存到本地

到这里 调试证书生成完毕

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

发布证书

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

3.Identifiers

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

点击添加AppIDs

点击进入

填写Boundle ID

勾选App 服务

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

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

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

4. Devices 绑定测试设备

点击添加测试设备

填写设备UDID

填写完毕 选择Contiune

选择 Register 注册即可

到这里,添加Devices 完成

5. Provisioning Profiles 描述文件

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

点击添加

选择绑定的AppID,Contiune继续

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

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

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

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

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

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

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

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

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

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

制作p12证书

p12 证书制作

  1. 拥有一个开发账号和PC
  2. 借助辅助工具appuploader

下载链接:

下载证书2:http://www.applicationloader.net/

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

这里讲的是开发证书,生成.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/

4. 在iTunes Connect创建 App

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

(2)点击+ 号,新建App

(3)填写App信息

(4)AppStore中显示的信息

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

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

5. 打包、上架项目

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

在编译的时候比较耗时。

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

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

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

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

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

 

相关文章
|
3月前
|
编解码 iOS开发
IOS上架APP Store时预览图尺寸
IOS上架APP Store时预览图尺寸
639 3
|
3月前
|
图形学 数据安全/隐私保护 iOS开发
Unity与IOS⭐Xcode打包,上架TestFlight的完整教程
Unity与IOS⭐Xcode打包,上架TestFlight的完整教程
|
3月前
|
iOS开发
解决IOS上架App Store后显示语言为英文的问题
解决IOS上架App Store后显示语言为英文的问题
85 0
|
1月前
|
Java Android开发 Swift
安卓与iOS开发对比:平台选择对项目成功的影响
【10月更文挑战第4天】在移动应用开发的世界中,选择合适的平台是至关重要的。本文将深入探讨安卓和iOS两大主流平台的开发环境、用户基础、市场份额和开发成本等方面的差异,并分析这些差异如何影响项目的最终成果。通过比较这两个平台的优势与挑战,开发者可以更好地决定哪个平台更适合他们的项目需求。
110 1
|
1月前
|
设计模式 安全 Swift
探索iOS开发:打造你的第一个天气应用
【9月更文挑战第36天】在这篇文章中,我们将一起踏上iOS开发的旅程,从零开始构建一个简单的天气应用。文章将通过通俗易懂的语言,引导你理解iOS开发的基本概念,掌握Swift语言的核心语法,并逐步实现一个具有实际功能的天气应用。我们将遵循“学中做,做中学”的原则,让理论知识和实践操作紧密结合,确保学习过程既高效又有趣。无论你是编程新手还是希望拓展技能的开发者,这篇文章都将为你打开一扇通往iOS开发世界的大门。
|
1月前
|
搜索推荐 IDE API
打造个性化天气应用:iOS开发之旅
【9月更文挑战第35天】在这篇文章中,我们将一起踏上iOS开发的旅程,通过创建一个个性化的天气应用来探索Swift编程语言的魅力和iOS平台的强大功能。无论你是编程新手还是希望扩展你的技能集,这个项目都将为你提供实战经验,帮助你理解从构思到实现一个应用的全过程。让我们开始吧,构建你自己的天气应用,探索更多可能!
63 1
|
8天前
|
安全 数据处理 Swift
深入探索iOS开发中的Swift语言特性
本文旨在为开发者提供对Swift语言在iOS平台开发的深度理解,涵盖从基础语法到高级特性的全面分析。通过具体案例和代码示例,揭示Swift如何简化编程过程、提高代码效率,并促进iOS应用的创新。文章不仅适合初学者作为入门指南,也适合有经验的开发者深化对Swift语言的认识。
26 9
|
8天前
|
Android开发 Swift iOS开发
探索安卓与iOS开发的差异和挑战
【10月更文挑战第37天】在移动应用开发的广阔舞台上,安卓和iOS这两大操作系统扮演着主角。它们各自拥有独特的特性、优势以及面临的开发挑战。本文将深入探讨这两个平台在开发过程中的主要差异,从编程语言到用户界面设计,再到市场分布的不同影响,旨在为开发者提供一个全面的视角,帮助他们更好地理解并应对在不同平台上进行应用开发时可能遇到的难题和机遇。
|
6天前
|
iOS开发 开发者
探索iOS开发中的SwiftUI框架
【10月更文挑战第39天】在苹果的生态系统中,SwiftUI框架以其声明式语法和易用性成为开发者的新宠。本文将深入SwiftUI的核心概念,通过实际案例展示如何利用这一框架快速构建用户界面,并探讨其对iOS应用开发流程的影响。