最新iOS APP打包上传到AppStore教程

2021-08-13 23:15:04

参考地址 iOS APP打包上传到AppStore详细步骤

一、前言:

     作为一名iOS开发者,把辛辛苦苦开发出来的App上传到App Store是件必要的事。但是很多人还是不知道该怎么上传到App Store上,下面就来详细讲解一下具体流程步骤。

二、准备工作:

一个已付费的开发者账号(可分为四种):

账号类型分为:

1.个人(Individual)     资费:99

2.公司(Company)     资费:99

3.企业(Enterprise)    资费:$299

4.高校(University)     资费:免费

一个已经开发完成的项目。

三、检查工作:

1.安装的Xcode必须为正式版,beta版本的Xcode不能上传项目到App Store。

2.上传使用的 Mac 的 OS X系统必须也是正式版的,beta版本也不行。

3.请确认你安装的Xcode是从App Store或者是开发者网站下载的

4.因为非官方途径下载的Xcode可能带有XcodeGhost 病毒。如何检查?(如图1)

非官方下载途径与官方下载途径Xcode路径比对 (如图1)

四、生成发布证书

1.打开开发者中心网址:https://developer.apple.com

2.点击:Account . (如图2)

开发者官网首页(如图2)

3.输入账号和密码登录(以公司开发者账号为例 如图3)

图3

4.点击:Certificates, Identifiers & Profiles

这是专门生成证书,绑定Bundle Id,绑定device设备,生成描述文件的地方  如图4

图4

5.点击Certificates生成证书,点击➕号新添加证书  (如图5)

如图5

6.选择生产证书(选择App Store and Ad Hoc)(如图6)

如图6

这里需要注意一下:

图7

7.需要手动创建CSR文件,创建步骤 如图8

说明:电子邮箱随便填写,名字使用默认的就可以,选择存储到硬盘即可

如图8

8.创建完毕后,上传到这里 如图9

如图9

9.选择完毕后,点击右上角continue,进入到如下界面, 点击下载即可   如图10

图10

10.下载下来后会保存在桌面上,如图11

图11

11.生成p12文件在其他电脑上使用这个发布证书

 双击安装证书后,打开钥匙串访问,选择安装的证书右键单击  如图12

如图12

注意:如果没有导出,可以把这个证书删除,然后重新双击下载的证书文件安装。

 导出证书 如图13

图13

存储证书 图14

图14

注意:存储的文件格式一定要是.p12

设置密码

可为证书设置密码,也可不设置密码;如果设置了密码,那么别人安装这个证书的时候就要输入密码,否则无法安装。如图15

图15

图16

五、创建App IDs和绑定你的App的Bundle Identifier

图17


图18

图19

接下来是描述文件的创建

图20

图21

图22

23

图24

图25

七、在App Store开辟空间


图26

图27

图28


图29

图30

图31

图32

图33

图34

图35

图36

图37


八、在Xcode中打包工程

找到你刚刚下载的发布证书(后缀为.cer)或者p12文件,和PP文件,双击,看起来没反应,但是他们已经加入到你的钥匙串中。(此操作之前操作过可忽略)

在Xcode中选择iOS Device(这里不能选择模拟器),按照下图提示操作

图38

图39

图40

图41

图42

图43

图44


图45


图46


图47


图48

图49

以上步骤都操作完,等待审核就OK了,审核过程中可能会被拒绝,具体拒绝具体分析,解决后,重新打包上传即可,重复此步骤。

审核通过的表现

图50

九.发布此版本的步骤

图51

图52

图53

结束

      这就是一套完整的APP发布appstore的步骤,都一一记录下来,以免忘记,有需要的盆友可以拿走,不谢,哈哈~



作者:森碟儿
链接:https://www.jianshu.com/p/de5c66fc0edb
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


  • 2021-04-15 10:10:00

    Puppeteer 系列踩坑日志—3—开启支持插件

    在使用puppeteer自动化的过程中,会发现其实开启的chrome往往自动禁用了插件功能,如果我们想在自动化测试的过程中,再去使用一些常用的插件提升效率(偷懒)的话,就行不通了,其实解决办法还是有的,我们今天就来讲解这个问题。

  • 2021-04-15 10:11:17

    Puppeteer拦截修改返回值

    page.setRequestInterception(true)拦截器的使用方法和场景 现附上Puppeteer的Api的链接https://github.com/GoogleChrome/puppeteer/blob/master/docs/api.md

  • 2021-04-15 10:32:18

    怎么给 headless chrome添加cookies

    In puppeter you have access to the session cookies through page.cookies(). So once you log in, you could get every cookie and save it in a json file:

  • 2021-04-15 10:51:21

    如何通过Devtools协议拦截和修改Chrome响应数据

    在日常研究中,我们经常碰到大量JavaScript代码,我们首先要深入分析才能了解这些代码的功能及具体逻辑。这些代码代码可能会被恶意注入到页面中,可能是客户送过来需要我们帮忙分析的脚本,也可能是我们的安全团队在网页上找到的引用了我们服务的某些资源。这些脚本通常代码量不大、经过混淆处理,并且我们总是需要经过多层修改才能继续深入分析。

  • 2021-04-19 10:54:39

    block和delegate的区别

    代理 可读性高 大部分可以属性 block 写的代码少 一般作为参数 通知 占用资源

  • 2021-04-19 11:00:23

    浅谈block和delegate的使用

    委托是协议的一种,顾名思义,就是委托他人帮自己去做事。委托是给一个对象提供机会对另一个对象中的变化做出反应或者影响另一个对象的行为。其基本思想是:两个对象协同解决问题,并且打算在广泛的情形中重用。委托指向另一个对象(即它的委托)的引用,并在关键时刻给委托发消息。消息可能只是通知委托发生了某件事情,给委托提供机会执行额外的处理,或者消息可能要求委托提供一些关键的信息以控制所发生的事情。委托的作用主要有两个,一个是传值,一个是传事件。

  • 2021-04-19 11:36:44

    iOS 组件实现方案

    什么才是好架构,为什么要组件,组件设计的优点