iOS App打包上架详细流程

2023-11-20

 

一、前言:

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

二、准备:

  • 一个已付费的开发者账号(可分为):
    • 账号类型分为个人(Individual)
    • 公司(Company)
    • 企业(Enterprise)
    • 高校(University)四种类型
  • 每年资费分别为$99、$99、$299、免费。
  • 一个已经开发完成的项目。

三、检查:

  • 安装的Xcode必须为正式版,beta版本的Xcode不能上传项目到App Store。
  • 上传使用的 Mac 的 OS X系统必须也是正式版的,beta版本也不行。
  • 请确认你安装的Xcode是从App Store或者是开发者网站下载的
  • 因为非官方途径下载的Xcode可能带有XcodeGhost 病毒。如何检查?

    1.jpg

四、生成发布证书

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

2.png

3.输入账号和密码登录

3.png

4.点击:Certificates, Identifiers & Profiles

  • 专门生成证书,绑定Bundle Id,绑定device设备,生成描述文件的地方

4.png

5.点击Certificates生成证书

  • 选择iOS, tvOS, watchOS
  • 选择All
  • 点击右上角新添加证书

5.png

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

6.png

注意:一个开发者账号只能创建(1-2个开发(测试)证书,2-3个生产(发布)证书),如果你的App Store Ad Hoc 前面的按钮不能选择,则代表你的这个账号无法再创建新的生产证书了。
解决方法:

从共同使用这个账号的人电脑上生成.p12文件,导入自己的电脑。(尽量不要执行下面第2步)
如果你想生成的话,把现有的删除一个(建议删除时间比较靠前的)。注意:如果删除一个证书,那么正在使用这个证书的人将不能再使用了,除非重新生成,然后利用.p12重新导入自己的电脑里!
注意:如果你想删除证书,执行下面步骤,否则略过。

7.png

8.png

9.png

10.png

11.png

7.上传CSR文件去获取证书(CSR文件需要我们到本机钥匙串里去创建)

  • 在Launchpad的其他里面,点击钥匙串访问弹出如下界面

12.png

13.png

  • 工具栏选择钥匙串访问->证书助理->从证书颁发机构请求证书...

15.png

  • 将CSR文件保存到MAC磁盘的某个位置(这里我选择的是桌面,进行存储)

16.png

17.png

18.png

  • 然后回到浏览器,点击choose File..

19.png

  • 选择创建好的:CertificateSigningRequest.certSigningRequest 文件,点击选取

20.png

  • 点击Generate上传证书

21.png

  • 跳转到如下界面,点击 DownLoad 下载生成的证书(cer后缀的文件),然后点击Done,你创建的发布证书就会存储在帐号中。

22.png

23.png

注意:
这个证书只能下载一次。点击下载后,关闭页面后就不能再回到下载页面了。
如果不需要给别的电脑使用,则直接跳过下面附加项,跳转到第五步(绑定Bundle Identifier)

附加项:生成p12文件在其他电脑上使用这个发布证书

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

24.png

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

    25.png

  • 存储证书

    26.png

注意:存储的文件格式一定要是.p12
  • 设置密码
    可为证书设置密码,也可不设置密码;如果设置了密码,那么别人安装这个证书的时候就要输入密码,否则无法安装。

27.png

如果需要在其它电脑上也能发布App,那么就必须要安装这个发布证书。

28.png

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

https://developer.apple.com/account/ios/identifiers/bundle/bundleList.action

29.png

30.png

注意:
上传App使用的Bundle Identifier,不能使用占位符。
如果你的Bundle Identifier已经在网站上绑定了,如果你又修改了你工程里面这个Bundle Identifier的话,需要重新进入到开发者账号里面绑定。

31.png

  • 选择App中包含的服务,默认有两项

(一般我们都把 Push Notifications也顺便勾选上,以便后期添加远程推送证书)

32.png

(一般我们都把 Push Notifications也顺便勾选上,以便后期添加远程推送证书)

33.png

34.png

35.png

六、生成描述文件

  • 找到Provisioning Profiles ,点击All,然后点击右上角 + 号

36.png

  • 选择下面App Store这个描述文件,点击Continue

37.png

38.png

39.png

40.png

41.png

42.png

七、在App Store开辟空间

  • 回到Member Center,点击iTunes Connect

43.png

44.png

45.png

46.png

47.png

注意:如果都填好以后,可能会告诉你,你的App名称已经被占用,那你只能改名了!

48.png

49.png

50.png

51.png

52.png

53.png

54.png

55.png

56.png

八、在Xcode中打包工程

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

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

57.png

58.png

59.png

注意:如果这里没有黄色叹号,代表你的配置没问题,如果有,那就是证书和描述文件不匹配,或者描述文件里刚才选的Bundle和现在的工程的Bundle Identifier不一致,去develop.apple.com 上找到你的描述文件在确认下绑定的bundle Identifier和你工程是不是一样的?

60.png

61.png

62.png

63.png

64.png

65.png

66.png

67.png

68.png

69.png

70.png

71.png

72.png

73.png

74.png

75.png

76.png

77.png

78.png

79.png

80.png

81.png

82.png

83.png

 

84.png

  • 等待APP的审核...

    八、补充

  • 构建版本的方法有两种
  • 一种是使用 Xcode(上面已经介绍了)
  • 另一种就是使用一个叫 Application Loader 这个软件:

85.png

86.png

87.png

88.png

89.png

  • 个人觉得还是这个工具好用!

 


作者:KirstenDunst

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iOS App打包上架详细流程 的相关文章

随机推荐

  • 简单的方法解决ORA-07104:字符串文字太长

    工作中 保存数据的时候出现该问题 说字符串问题过长 过长的字段是一个用来保存xml格式的字符串 字段类型已经设置成CLOB 但是还是出现字符串过长问题 在SQLServer应该不会出现该问题 该问题中字符串文字太长 并不是字段的字符串过长
  • React配置@src根路径

    第一种 直接修改node modules包中的webpack config js文件 找到node modules react scripts config webpack config js文件 修改其中alias中的配置 添加 src
  • zotero和obsidian图片无法显示问题(可能的解决思路之一)(bibnotes formatter配置)

    我的zotero图片笔记无法导入obsidian 看了目前的大部分博主的内容 都是教你将bibnotes formatter中 image import下的zotero local folder路径改为storage前的路径 例如 我的位置
  • SSL踩坑ERR_SSL_VERSION_OR_CIPHER_MISMATCH

    最近公司项目开发了一个微信小程序 并且部署测试OK 由于微信小程序调用的后端接口必须是HTTPS 所以给接口安装了SSL 第一天测试都正常 第二天早上再使用时页面无响应 抓包发现是后端接口抛出 net ERR SSL VERSION OR
  • 背包九讲-01背包

    动态规划核心思维能力 动态规划是求最优解问题的重要解法 也是信息学奥赛中每年必考的内容之一 学习动态规划更应该注重此类问题思维能力的锻炼 多多做题 一般 gt 50题后方可入门 注意理解以下概念 1 状态 2 状态属性 3 状态的计算 也就
  • Microsoft Office Excel 不能访问文件 的解决办法

    Microsoft Office Excel 不能访问文件 a xls 可能的原因有 文件名称或路径不存在 文件正被其他程序使用 您正要保存的工作簿与当前打开的工作簿同名 This solution is Windows 2008 Serv
  • 三维实时重建BundleFusion

    转自 计算机视觉方向简介 深度相机室内实时稠密三维重建 知乎 室内场景的稠密三维重建目前是一个非常热的研究领域 其目的是使用消费级相机 本文特指深度相机 对室内场景进行扫描 自动生成一个精确完整的三维模型 这里所说的室内可以是一个区域 一个
  • 前端基础(三)- ES7~ES12

    为了方便记忆和称呼 ES2015之后的新知识点我们都统称ES6语法 就没必要去划分得那么细 ES7 2016 Array prototype includes includes方法可以判断一个数组是否包含某个指定的值 如果存在返回true
  • 多分类学习、多标签学习、多任务学习的区别

    Multi class Multi label Multi task 三者之间的区别与相同之处 1 直观解释 多分类学习 Multi class 一个分类器 但分的类别是包含多个的 例如 分类器判断苹果的颜色是 红色 黄色 青色 白色 这是
  • 移动端H5开发遇到的问题

    移动端开发必会出现的问题和解决方案 H5开发过程中难免会遇到一些兼容性等爬过坑的问题 移动端 H5 相关问题汇总 1px 问题 响应式布局 iOS 滑动不流畅 iOS 上拉边界下拉出现白色空白 页面件放大或缩小不确定性行为 click 点击
  • 让控制台输出彩色日志 windows

    经常看到一些开源软件 例如NDK编译的时候 操作系统启动的时候 打印的输出很多是彩色的 这样比较容易分辨哪些是重点 增强可读性 代码如下 cpp view plain copy include
  • 深度解析C++模版

    在C 发明阶段 C 之父Stroustrup和贝尔实验室的C 小组对原先的宏方法进行了修订 对其进行了简化并将它从预处理范围移入了编译器 这种新的代码替换装置被称为模板 而且它变现了完全不同的代码重用方法 模板对源代码重用 而不是通过继承和
  • Python的PIL库

    Python图像库PIL Python Image Library 是python的第三方图像处理库 图像类Image class Image类是PIL中的核心类 比如从文件中加载一张图像 处理其他形式的图像 或者是从头创造一张图像等 Im
  • Python代码实现发送163邮件(IMAP服务)

    1 注册163邮箱并登陆 https mail 163 com 2 开启 IMAP IMAP 服务 3 编写代码 进行发邮件操作 import smtplib from email mime text import MIMEText fro
  • 用MATLAB实现人脸识别

    1 人脸识别技术的细节 一般来说 人脸识别系统包括图像提取 人脸定位 图形预处理 以及人脸识别 身份确认或者身份查找 系统输入一般是一张或者一系列含有未确定身份的人脸图像 以及人脸数据库中的若干已知身份的人脸图像或者相应的编码 而其输出则是
  • 【C/C++】 - Linux下查找函数头文件 以及 man命令拓展

    背景 比如现在需要找C语言 sleep函数的头文件 使用man来查找 可以先man sleep 可以发现出来的默认是sleep 1 是一个User Commands 明显不是我们需要的 这里提示了 看sleep 3 那我们查看下sleep
  • VC++ MapWinGis篇(三)

    添加百度图层 BaiduMapProvider h pragma once include BaseProvider h include BaiduProjection h include
  • Open3D(C++)实现建筑物点云立面和平面分割提取

    Open3D C 实现建筑物点云立面和平面分割提取 近年来 点云技术在城市规划 机器人地图构建等领域得到广泛应用 本篇文章将介绍如何利用Open3D C 库实现建筑物点云立面和平面分割提取 准备工作 首先需要编译安装Open3D库 本文使用
  • 如何写接口测试用例

    一 接口测试用例基础知识 1 接口测试要测的是什么 接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互 测试的重点是要检查数据的交换 传递和控制管理过程 以及系统间的相互逻辑依赖关系等 2 接口测试的意义 按照分层测试模型
  • iOS App打包上架详细流程

    一 前言 作为一名iOS开发者 把辛辛苦苦开发出来的App上传到App Store是件必要的事 但是很多人还是不知道该怎么上传到App Store上 下面就来详细讲解一下具体流程步骤 二 准备 一个已付费的开发者账号 可分为 账号类型分为个