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