关于如何发布iOS应用到App Stroe,苹果开发者中心已经给出了很详细的说明。和普通的iOS应用一样,使用React Native开发的iOS应用也需要使用普通的iOS应用的发布流程,总的来说,主要涉及以下几步:
加入苹果开发者计划,申请成为开发者;
生成和配置开发者证书;
打包iOS应用;
上传应用并发布到App Store。
如果想要将iOS应用发布App Store,那么加入开发者组织,并且需要拥有会员资格。如果还没有会员资格,那么可以使用Apple Developer app程序进行注册和购买,购买过程中如果出现任何问题,可以联系苹果客服进行解决。
1、加入苹果开发者计划
加入苹果开发者计划需要先申请开发者账号,如果要分发iOS应用,还需要给苹果支付一定的费用。目前,开发者账号分为个人开发者、企业开发者和公司开发者。其中,个人开发者账号和公司开发者账号每年99美金,企业开发者账号每年299美金。
个人开发者账号:99美金一年,可以在AppStore上架,并且在app后面显示个人ID;真机调试时最多只能添加一百个苹果设备;一般是个人使用或者小公司使用。
公司开发者账号:99美金一年,可以在App Store上架,可以自定义的团队名称,最重要的是公司账号可以允许多个开发者协作开发,比个人多一些帐号管理的设置和权限的管理。
企业开发者账号:299美金一年,不可以在AppStore上架,一般只在自己企业内部使用,对设备数量没有任何限制;申请的时候还需要公司的邓白氏编码DUNS。
2、证书配置
为了能够将iOS应用发布到App Store,需要开发者具有发布应用所需的发布证书、App ID和描述文件。iOS的Certificates分为开发证书和发布证书,正式打包的时候用的是发布证书。下面说说在iOS应用发布时才会用到的几个证书:
AdHoc:这个证书一般用在上线苹果商店前最后一次的调试,它所用是的证书和配置文件和正式上线商店时用的证书和配置文件是一样的,他们的不同点在于,这个证书中指定了哪些苹果设备(最多100)才能安装此app,所以一般公司就用打个AdHoc包,对设备上线前做最后一步测试
AppStore:正式发布到苹果商店的证书,这个是我们上线时候用到最多的一种证书,这个证书打包出来的ipa包对安装设备数量没有限制。
In House: 这个证书的创建选项现在的好像只能在企业账号中才能看到,这个打包出来的app不能再苹果商店上线,对安装的设备数量也没有限制。这个可以借助一些三方平台比如蒲公英、fire实现方便安装(扫扫二维码就能下载很方便的),当然用工具iTools安装也是可以的。
除此之外,还有以下几个概念需要掌握:
App ID:App的身份证,区别App的唯一标示,在Project中称为Bundle ID。
Provisioning Profiles: 描述文件的作用是描述了可由哪台电脑,把哪个App,安装到哪台手机上面。一个描述文件的制作是需要App ID、Device、Certificate这些信息的。如果你已经申请成为开发者,那么可以登录开发者账号来获取上面的内容,如下图所示。
2.1 证书申请
如果还没有在电脑中配置证书,可以点击开发者网站中选择左边导航栏的【Certificates,IDs & Profiles】选项,然后选择上方的【➕】进行新建。 在新建证书页面选择【iOS Distribution (App Store and Ad Hoc)】选项,然后点击【Continue】按钮。
进入新建页面,它会问你要创建那种,通常选择第四个,第四个是针对iOS应用的一个发布证书,因为是要发布嘛,所以是发布证书。此时,需要上传一个证书签名文件,之后才能生成iOS应用的发布证书。
打开macOS系统中的钥匙串访问应用,然后依次选择【钥匙串访问】,【证书助理】,【从证书颁发机构请求证书...】来创建签名文件。 然后,在证书助理页面填写证书信息,
接下来,选择上传签名文件,并下载生成的发布证书。
下载证书后,双击点击进行安装。
2.2 注册App ID
App ID是苹果开发者计划的一部分,主要用来标识App,是App的身份证,在Project中称为Bundle ID。如果还没有App ID,可以在【Certificates, Identifiers & Profiles】面板中注册一个App ID。 Description用于描述APPID,BundleID是项目的唯一标识,可以在Xcode里面复制过来,以免输错,然后保存。如果项目中有用到推送功能,需要选中Push Notifications,并配置推送证书。
2.3 推送证书
如果应用中有推送的需求还需要创建推送证书,创建推送证书可以在点击【Push Notification】后面的【Edit】按钮进行创建,接着,在弹框中可以选择创建用于开发环境还是生产环境的证书。(以ios为例)
接着,选择生产的CSR文件,一路选择【Continue】按钮即可。
接着,系统会生成2个cer文件,将分别双击安装到钥匙串中。在钥匙串中可以导出成p12
文件,用于各推送平台中进行推送配置。 接着,双击下载下来的证书,安装到钥匙串中,然后在钥匙串中右键选择导出,输入名称和密码,最终导出为p12文件。 以极光推
送的配置为例,官方需要我们上传推送所需的p12文件。 生产证书和开发证书分别使用上面导出的对应的p12文件,在选择文件时输入的密码就是导出时设置的密码即可,其他平台配置也类似。
创建证书
编辑切换为居中
添加图片注释,不超过 140 字(可选)
新增证书
编辑切换为居中
添加图片注释,不超过 140 字(可选)
创建安卓证书
编辑切换为居中
添加图片注释,不超过 140 字(可选)
2.4 配置开发者证书
开发者证书一般是不需要配置的,因为Xcode中可以选择自动配置。但是如果需要打一个测试包,然后放到蒲公英或fir上面的话,那就需要配置一个Ad Hoc的证书。选中
【Profiles】,并点击加号进行添加。 Development是开发证书,开发过程中用于真机
调试;Distribution是发布证书,用于APP打包提交审核。选中【Ad Hoc】,这个是为了后面打测试包使用,然后选择需要配置证书的APPID。
接着,选择允许安装的设备。因为,没有注册的设备,测试包是无法进行安装的。
2.5 创建配置文件
打开【Certificates, Identifiers & Profiles】主页,然后再左侧菜单中选择【Profiles】,然后选择 【+ 】创建新的配置文件。 此时将显示【Register a New Provisioning Profile】的相关信息。
然后,选择“Development”(开发)下的“iOS App Development”(iOS 应用程序开发)作为预配配置文件类型,然后选择“Continue”(继续)。
从“App ID”(应用 ID)下拉列表中选择创建的应用 ID,然后选择“Continue”(继续)。 在“Select certificates”(选择证书)窗口中,选择用于代码签名的开发证书,然后选择“Continue”(继续)。
2.6 创建秘钥
创建密钥允许您为该密钥配置、验证和使用一项或多项 Apple 服务。与证书不同,密钥不会过期,并且可以在创建后进行修改以访问更多服务。选择左边 的Keys选项, 然后点击 【Create a Key】创建秘钥。
3,iOS应用打包
使用Xcode打开项目,选中根目录,然后选中【Signing & Capabilities】,在Signing中选择开发者账号,如果有推送功能,增加推送权限配置。 然后,选择顶部的【Product】中的【Archive】进行打包。 选择要打包的版本,点击右上角的【Distribute】按钮进行打包。 需要选择IPA包的类型,然后选择【Export】导出。 如果打包过程中遇到There are no devices registered in your account on the developer website错误,可以使用真机先运行一下,因为苹果要求我们打包上架之前至少要在开发者网站注册一台真机。
4,发布iOS应用
4.1 提交应用
提交iOS应用,我们建议使用Transporter 来执行提交,可以在App Store中搜索并安装,它是免费的。使用之前,需要使用苹果开发者账号进行登录。完成登录后就可以将IPA包添加到Transporter中,然后执行提交。
如果没有问题的话,使用Transporter就可以上传打好的iOS应用了。如果有问题,可以根据提示进行解决。
4.2 提交审核
在苹果商店后台进行提交审核,有两种情况:已有APP的版本升级、发布新的APP。下面分别进行说明。
4.2.1 App升级
在APP详情页面点击左上方的加号添加新版本,新版本需要修改两个地方的内容:此版本的更新内容、选择构建版本(即上传的IPA包)。在选择构建版本时,需要选择出口合规证明信息,一般选否即可。
4.2.2 发布新App
如果是新建一个新的APP,那么第一次需要需要填写一些基础信息:
平台:根据软件类型选择,选择iOS。
名称:即在App Store中显示的名称。
主要语言:选择简体中文。
套装ID:在苹果开发者中心中创建的identifier,需要跟IPA包保持一致。
SKU:一个标识符,保证唯一。
用户访问权限:选择完全访问权限。
接着,按照要求填写版本信息、隐私信息和价格与销售范围等。
填写完上述的所有必填内容之后,就可以提交APP等待审核了。如果APP没有问题,则直接通过审核,否则会有邮件提醒苹果想你发送了一条信息,需要在应用商店后台查看,然后可以根据信息的提示修改App,在重新提交审核。
4.2.3 其他分发平台
如果是使用蒲公英这类分发平台,那么我们也可以将ipa包上传到蒲公英平台。不管,设备的uuid需要添加至开发者中心的deviceid中,并且设备添加了profile中重新打包才行。