文章目录

  • 背景
  • 相关概念介绍
    • Certificate
    • APP ID(Bundle ID)
    • Devices
    • Provisioning Profile
  • 注册开发者账号
    • 1、登录
    • 2、开发者
  • 证书管理
    • 1、进入证书、标识符和配置文件管理页面
    • 2、添加证书
  • 身份管理
  • 设备管理
  • 配置文件管理
  • 在 App Store Connect 创建 APP
    • 1、打开 App Store Connect
    • 2、新建 APP
  • 开发配置
    • 1、打开
    • 2、配置 release scheme
    • 3、修改证书
    • 4、编辑App的基本信息
    • 5、编译发布 app
  • 问题记录
    • 问题一
    • 问题二
  • 参考资料

背景

我们用 RN 开发 IOS 应用完成后,需要发布到 App Store 里,接下来我们看看步骤

相关概念介绍

Certificate

证书是用来给应用程序签名的,只有经过签名的应用程序才能保证他的来源是可信任的,并且代码是完整的,未经修改的。

在Xcode Build Setting的Code Signing Identity中,你可以设置用于为代码签名的证书。

证书主要分为两类:Development和Production

  • Development证书用来开发和调试应用程序
  • Production主要用来分发应用程序。

Certificate 应被配置到【Xcode Target|Build Settings|Code Signing|Code Signing Identity】下

在xcode登录账号并且在 Signing&Capabilities -> Signing 自动登录开发者账号后,
会在本地生成Apple Development Certificates证书

自动生成后,在“钥匙串”中会多出这3个证书,并且在https://developer.apple.com/account/resources/certificates/list中也会自动新增一个带有你自己的电脑名的TYPE为Development的证书,有了这个证书仅仅表示你是这个账号下的其中一位开发者,
可以在本地开发,但还不能发布到HOC或者APP Store上。

APP ID(Bundle ID)

Bundle ID 「Bundle identifier」也叫 App ID 或者应用 ID。一般为反域名格式:com.cmvalue.rf。用于标识一个或者一组App。
App ID 被配置到【XcodeTarget|Info|Bundle Identifier】下
Bundle ID主要分为两类:

  • Explicit App ID「明确的 App ID」,一般格式是:com.company.appName;这种 id 只能用在一个app上,每一个新应用都要创建并只有一个。
  • Wildcard App ID「通配符 App ID」, 一般格式是:com.domainname.* ;这种 id 可以用在多个应用上,虽然方便,但是使用这种id的应用不能使用通知功能,所以不常用。

关注三个点:开发者账号,开发者账号下的所有应用,所有应用对应一个bundle id,就像一个人的身份证号码。ios 是 bundle id,android 是 packageName,一般情况下都叫 bundle ID 或者 App ID,默认大家都知道说的是个啥;

这里不要和 Apple ID 搞混了,在后台的 App 信息菜单可以查看,格式是一串数字如:1584249343

Devices

包含了该账户中所有可用于开发和测试的设备。
UDID如何获取:好多方式
方式一:手机连接到电脑,打开xcode如下

方式二:使用蒲公英等软件 https://www.pgyer.com/tools/udid

Provisioning Profile

配置文件,包含了上述的所有内容:证书、APP ID、设备。
Provisioning Profile 决定 Xcode 用哪个证书(公钥)/私钥组合(Key Pair/Signing Identity)来签署应用程序(Signing Product),并将在应用程序打包时嵌入到 .ipa 包里。安装应用程序时,Provisioning Profile 文件被拷贝到 iOS 设备中,运行该 iOS App 的设备通过它来认证安装的程序。

在网站上手动创建一个 Provisioning Profile 时,需要依次指定 App ID(单选)、证书(Certificates,可多选)和设备(Devices,可多选)。

Provisioning Profile 把这些信息全部打包在一起,方便我们在调试和发布程序打包时使用。这样,只要在不同的情况下选择不同的 Provisioning Profile 文件就可以了。

Provisioning Profile 也分为 Development 和 Distribution 两类,有效期同 Certificate 一样。

Xcode 将全部供应配置文件(包括用户手动下载安装的和 Xcode 自动创建的 Team Provisioning Profile)放在目录 ~/Library/MobileDevice/Provisioning Profiles 下。

Provisioning Profile被配置到【XcodeTarget|Build Settings|Provisioning Profile】

注册开发者账号

1、登录

登录 苹果开发者中心,用 apple id 登录

2、开发者

进入主页之后,然后点击Join the Apple Developer Program进行开发者账号申请。
点击右上角的Enroll,然后点击Start Your Enrollment
这里会有介绍,账号分为:

  • 个人
  • 组织
  • 企业程序

然后引导我们去手机下载一个 app 叫:Apple Developer

我们如果是给公司开发的话,申请企业版的,用企业账号申请一个 Apple id,然后购买,等发布的时候使用就行了。

证书管理

1、进入证书、标识符和配置文件管理页面

苹果开发者中心,点击下图所示位置进入证书、标识符和配置文件管理页面。

2、添加证书


这里举例选择Development证书

这是生成 CSR 的步骤:打开钥匙串 -> 证书助理 -> 从证书颁发机构请求证书 -> 填写信息创建 CSR


选择证书,下一步

生成完成,点击下载证书,双击即可安装

Production 证书制作过程类似,这里不再多说

身份管理

主要是管理账户的,比如添加多个开发者

设备管理

比如添加手机设备等等

配置文件管理

我们 Development provisioning profile 举例,具体是根据 APPID,证书,设备(也就是前面三个配置),生成一份配置文件

在 App Store Connect 创建 APP

1、打开 App Store Connect

之前名字叫 ITunes Connect,现在叫 App Store Connect

2、新建 APP



开发配置

程序开发过程中需使用 Development 证书及 Development provisioning profile,这两个在前面已经生成了。

1、打开

用 Xcode 将 ios/ 文件夹打开

2、配置 release scheme

Product → Scheme → Edit Scheme

将这里从 Debug 改为 Release

3、修改证书

切换成对应的发布证书和Distribution provisioning profile
注意:PROJECT 和 TARGETS 都改一下。

4、编辑App的基本信息

5、编译发布 app

菜单栏选择 Product → Build 编译发布 app
选择 Produce -> Archive。
上传 App Store

大约过十分钟左右,刷新 App Store Connect ,可以看到“构建版本”右侧多出了一个添加按钮,点击后可以看到刚刚上传的App,选择并点击“完成”。

后面有个提交关于出口合规的,一般没有这个合规证明就在配置文件Info.plist 中添加属性 ITSAppUsesNonExemptEncryption 并设置值为NO,参考这个文章
https://blog.csdn.net/potato512/article/details/105412409

最后,点击“提交以供审核”就等审核吧。

问题记录

问题一


手机注册的 appid 无法使用,需要用邮箱重新注册一个。
比如你的注册地在中国,而有些APP不针对中国服务,所以就无法使用
https://appleid.apple.com/account/manage

问题二

  • ios 的版本号必须是三位,如 1.0.0,如果你写别的上传时会报错
  • 每次提交审核的时候,版本号要变,否则会报错

参考资料

https://www.cnblogs.com/rynxiao/p/12886525.html
https://blog.csdn.net/belalds/article/details/84568973
https://www.jianshu.com/p/9d9e3699515e
xcode官方文档
原理介绍的详细
https://blog.csdn.net/phunxm/article/details/42685597

ios:应用发布App Store流程相关推荐

  1. iOS 最新发布App Store流程

    先总结一下发布到App Store你需要准备哪些东西和步骤 1.开发者账号 2.去developer.apple.com 生成对应的发布证书,APP ID,描述文件 3.xcode 项目中选择gene ...

  2. iOS发布app store流程

    一.创建应用 1.进入 https://developer.apple.com/account 登陆账号,进入 2.选择 App Store Connect 3.选择我的App 点击 + 创建app: ...

  3. iOS提交应用至App Store流程及真机调试 一,证书、配置文件

    前言:你要有苹果开发人员账号,我用的是个人账号.其次xcode为xcode 7,因为xcode 7须要 os x 系统 10.11 或更高的版本号, 所以os x 系统也须要 10.11 或更高的版本 ...

  4. Windows申请iOS证书上架App Store详细教程 (有这一篇就够了)

    Windows申请iOS证书上架App Store详细教程 上架基本需求资料 1.苹果开发者账号(如还没账号先申请-苹果开发者账号申请教程) 2.开发好的APP 通过本篇教程,可以学习到ios证书申请 ...

  5. ios html5 app上架,H5封装的IOS应用上架App Store被拒怎么办

    原标题:H5封装的IOS应用上架App Store被拒怎么办 H5封装的IOS应用如果上要架到App Store几乎是无望,原因是苹果官方为了保证App Store应用商店上的APP优量和更好的体验, ...

  6. ipa上架App Store流程

    1)提交ipa工具:Transporter(Mac版) 苹果提供 Transporter 来处理大量和差异化数据的操作的工具(可以在 macOS.Windows 和 Linux 操作系统上安装和运行 ...

  7. Laya 构建Xcode工程对接穿山甲SDK并打包提交App Store流程

    Laya 构建Xcode工程对接穿山甲SDK并打包提交App Store流程 laya构建Xcode工程 发布web项目 Laya部分Xcode构建 对接穿山甲SDK流程 laya所在文件夹resou ...

  8. iOS 直播类APP开发流程

    (一) iOS 直播类APP开发流程分解: 1 . 音视频处理的一般流程: 数据采集→数据编码→数据传输(流媒体服务器) →解码数据→播放显示 1.数据采集: 摄像机及拾音器收集视频及音频数据,此时得 ...

  9. (转载)iOS直播类APP开发流程

    转载自博主:iOS_developer_zhong,博客地址: http://blog.csdn.net/zhonggaorong/article/details/51483282 本文为大家分享了i ...

最新文章

  1. .Net(c#) 通过 Fortran 动态链接库,实现混合编程
  2. 在Putty或mRemote下输入和显示中文
  3. jsp 跳到servlet路径_想打开一个jsp的页面就跳转到servlet中去,并向servlet传值。用什么跳转...
  4. java编写字符串连接程序注释_Java 注解自动化处理对应关系实现注释代码化
  5. matlab控制树莓派3b,树莓派3B+ 手机h5网页控制GPIO
  6. mexcuda中矩阵数据的传输
  7. ZC公司员工评分系统——后台查询合成DataTable
  8. ai作文批改_网易有道词典再推AI作文批改新功能
  9. Verilog GPIO 模块设计
  10. MAC常用进入文件夹剪贴粘贴打开文件夹快捷键
  11. oracle form on query,OracleForm实战总结.doc
  12. 虚拟内存,页表,快表,多级页表,倒排页表
  13. PBR之基于图像的光照IBL (Diffuse)
  14. java操作es创建索引和索引设置
  15. 乔春洋:网上品牌承诺和设计
  16. sencha touch的pinch zoom控件
  17. Entropy attack——hash函数的熵攻击
  18. 最全最详细!请收下这份电路反馈基础知识秘
  19. 《计算机应用基础》教案,【计算机基础教案】_计算机应用基础第一章计算机基础知识教案...
  20. 找果网教你苹果手机听筒坏了快速维修的方法

热门文章

  1. 卡拉OK,想唱你就唱,想跳你就跳!
  2. SQL Server小数取整
  3. iPhone如何不用iTunes将视频传输到电脑上?
  4. 名帖101 赵孟頫 小楷《采神图跋册页》
  5. 袋鼠过河问题(DP)
  6. JAVA使用spire.doc将富文本和latex公式生成word文档
  7. 点划线的两种实现方法
  8. 重装 Windows 系统后键乱码解决方案
  9. android删除本地图片,Android中结合contentResolver.delete和file.delete实现本地图片的删除...
  10. linux的web服务