ios:应用发布App Store流程
文章目录
- 背景
- 相关概念介绍
- 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流程相关推荐
- iOS 最新发布App Store流程
先总结一下发布到App Store你需要准备哪些东西和步骤 1.开发者账号 2.去developer.apple.com 生成对应的发布证书,APP ID,描述文件 3.xcode 项目中选择gene ...
- iOS发布app store流程
一.创建应用 1.进入 https://developer.apple.com/account 登陆账号,进入 2.选择 App Store Connect 3.选择我的App 点击 + 创建app: ...
- iOS提交应用至App Store流程及真机调试 一,证书、配置文件
前言:你要有苹果开发人员账号,我用的是个人账号.其次xcode为xcode 7,因为xcode 7须要 os x 系统 10.11 或更高的版本号, 所以os x 系统也须要 10.11 或更高的版本 ...
- Windows申请iOS证书上架App Store详细教程 (有这一篇就够了)
Windows申请iOS证书上架App Store详细教程 上架基本需求资料 1.苹果开发者账号(如还没账号先申请-苹果开发者账号申请教程) 2.开发好的APP 通过本篇教程,可以学习到ios证书申请 ...
- ios html5 app上架,H5封装的IOS应用上架App Store被拒怎么办
原标题:H5封装的IOS应用上架App Store被拒怎么办 H5封装的IOS应用如果上要架到App Store几乎是无望,原因是苹果官方为了保证App Store应用商店上的APP优量和更好的体验, ...
- ipa上架App Store流程
1)提交ipa工具:Transporter(Mac版) 苹果提供 Transporter 来处理大量和差异化数据的操作的工具(可以在 macOS.Windows 和 Linux 操作系统上安装和运行 ...
- Laya 构建Xcode工程对接穿山甲SDK并打包提交App Store流程
Laya 构建Xcode工程对接穿山甲SDK并打包提交App Store流程 laya构建Xcode工程 发布web项目 Laya部分Xcode构建 对接穿山甲SDK流程 laya所在文件夹resou ...
- iOS 直播类APP开发流程
(一) iOS 直播类APP开发流程分解: 1 . 音视频处理的一般流程: 数据采集→数据编码→数据传输(流媒体服务器) →解码数据→播放显示 1.数据采集: 摄像机及拾音器收集视频及音频数据,此时得 ...
- (转载)iOS直播类APP开发流程
转载自博主:iOS_developer_zhong,博客地址: http://blog.csdn.net/zhonggaorong/article/details/51483282 本文为大家分享了i ...
最新文章
- .Net(c#) 通过 Fortran 动态链接库,实现混合编程
- 在Putty或mRemote下输入和显示中文
- jsp 跳到servlet路径_想打开一个jsp的页面就跳转到servlet中去,并向servlet传值。用什么跳转...
- java编写字符串连接程序注释_Java 注解自动化处理对应关系实现注释代码化
- matlab控制树莓派3b,树莓派3B+ 手机h5网页控制GPIO
- mexcuda中矩阵数据的传输
- ZC公司员工评分系统——后台查询合成DataTable
- ai作文批改_网易有道词典再推AI作文批改新功能
- Verilog GPIO 模块设计
- MAC常用进入文件夹剪贴粘贴打开文件夹快捷键
- oracle form on query,OracleForm实战总结.doc
- 虚拟内存,页表,快表,多级页表,倒排页表
- PBR之基于图像的光照IBL (Diffuse)
- java操作es创建索引和索引设置
- 乔春洋:网上品牌承诺和设计
- sencha touch的pinch zoom控件
- Entropy attack——hash函数的熵攻击
- 最全最详细!请收下这份电路反馈基础知识秘
- 《计算机应用基础》教案,【计算机基础教案】_计算机应用基础第一章计算机基础知识教案...
- 找果网教你苹果手机听筒坏了快速维修的方法
热门文章
- 卡拉OK,想唱你就唱,想跳你就跳!
- SQL Server小数取整
- iPhone如何不用iTunes将视频传输到电脑上?
- 名帖101 赵孟頫 小楷《采神图跋册页》
- 袋鼠过河问题(DP)
- JAVA使用spire.doc将富文本和latex公式生成word文档
- 点划线的两种实现方法
- 重装 Windows 系统后键乱码解决方案
- android删除本地图片,Android中结合contentResolver.delete和file.delete实现本地图片的删除...
- linux的web服务