2022最新iOS最新打包发布流程

news2024/11/25 4:46:17

关于如何发布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文件,在选择文件时输入的密码就是导出时设置的密码即可,其他平台配置也类似。

创建证书

新增证书

创建安卓证书

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中重新打包才行。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/48689.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Android进阶之旅】内存泄漏的危害有哪些?(案例分析)

随着计算机应用需求的日益增加,应用程序的设计与开发也相应的日趋复杂; 开发人员在程序实现的过程中处理的变量也大量增加,如何有效进行内存分配和释放,防止内存泄漏的问题变得越来越突出 例如: 服务器应用软件&#x…

connection is being used##server is in use and cannot be deleted

mysql数据库被黑客挟持,删除我的数据库,让我用比特币来换,吓死我了,还好是测试库,删了就删了,数据库备份还得做好,密码不能设置太简单了。 下面是黑客留言: "以下数据库已被删…

64-65 - C++中的异常处理

---- 整理自狄泰软件唐佐林老师课程 1. C异常处理 1.1 try catch内容一 C内置了异常处理的语法元素 try catchtry语句用于处理正常代码逻辑catch语句用于处理异常情况 try语句中的异常由对应的catch语句处理 1.2 C通过throw语句抛出异常信息 1.3 C异常处理分析 throw抛出的…

【SSM注解汇总】

SSM注解汇总 文章目录SSM注解汇总MyBatis注解1. param("param1","param2",...)2. MapKey("id")Spring注解1. IOC Component Service Controller Repository2. 基于注解方式实现属性注入1)Autowired2)Qualifier3&#xff0…

Allegro铜皮动静态切换操作指导

Allegro铜皮动静态切换操作指导 Allegro支持铜皮的动静态相互切换,并且还可以批量操作,具体操作如下 动态切换成静态 以下面图片为例,这是个动态铜皮dynamic属性 点击选择铜皮命令 选中铜皮 右击选择change shape type 会出现一个弹窗警告,直接点击是 铜皮被change成…

海外仓物流有哪些优缺点

海外仓的优点:较低的物流成本、更有效率的送货时效、优质的仓储管理经验、订单处理省时省力、库存管理及盘点清晰明确、远程操作省时省力、自动快捷的退换货处理流程等。海外仓的缺点:存储压力大,库存成本高,资金运转不便等。海外…

微软威胁建模工具 STRIDE

威胁建模要回答的四个问题 what are we woking on what can go wrong what are we going to do about this did we do a good enough job 说到threat modeling 不得不提的就是微软的STRIDE 微软也提供了工具来做这个工作 Microsoft Threat Modeling Tool overview - Azur…

tictoc例子理解10-13

tictoc10-13tictoc 10 几个模块连接,发送消息直到模块3收到消息tictoc 11 新增信道定义tictoc 12 双向连接信息简化定义tictoc 10 几个模块连接,发送消息直到模块3收到消息 让我们用几个(n)’ tic’模块让它更有趣,并将每个模块连接到其他模…

基于Android的学生管理系统App设计与实现(Eclipse开发)

目 录 摘 要 I Abstract II 1 绪论 1 1.1 选题背景及意义 1 1.2 研究现状 1 1.2.1 教育系统发展现状 1 1.2.2 手机的应用市场发展现状 1 1.2.3 Android平台介绍 3 1.2.4 Android管理学生信息的意义 5 1.3.3 开发的环境及开发工具介绍 6 1.3 研究主要内容 6 2 相关技术介绍 7 2.…

安装 laravel 遇到的错误和解决方案

安装 laravel 遇到的错误和解决方案 纯粹是为了运行下 laravel,遇到了错误记录下,分享给需要的人。 下载 PHP Windows 版 ,我选择的版本是 PHP 7.4 (7.4.33)。下载文件以后找个文件夹解压就可以了。Composer 安装,官网 。 勾选以…

单元测试与数据库

单元测试 1.单元测试应该是全自动执行的,而非交互式的,应使用assert语句来验证结果而不是sout后进行人眼验证 2.为了保证单元测试可靠且便于维护,单元测试用例之间不能互相调用 3.单元测试是可重复执行的,不能受到外界环境的影响 4.单元测试代买必须写在src/test/java的工程…

【JAVA程序设计】基于SpringBoot+VUE的高校疫情打卡系统-前后端分离

基于SpringBootVUE的高校疫情打卡系统零、项目获取一、项目简介二、开发环境三、项目技术四、系统架构五、运行截图六、数据库设计零、项目获取 获取方式(点击下载):是云猿实战 项目经过多人测试运行,可以确保100%成功运行。 一…

【C++11重点语法】lambda表达式,初始化列表

目录 引子:C11为什么的源来 语法1:初始化列表 1.2.2 多个对象的列表初始化 语法3:默认成员函数控制(delete,default) 语法4:lambda表达式 引子:C11为什么的源来 在2003年C标准…

[附源码]计算机毕业设计springboot课室预约系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

用户体验设计笔记(1-1)

前言 ☔️只考虑体验的商业不可持续,只考虑商业的体验没有底线。         ☔️用户体验就是用户使用产品过程中积累起来的主管体验总和。 1 丨商业的天时:如何选择正确的体验策略? ☔️任何产品与服务,都是从用户场景的商业规…

小项目应该如何进行跨平台方案选型

作为一个小开发,近期完整的经历了,一个初创项目从搭建到推向市场的过程。实际上在整个过程中,开发只占很小的一个板块,尤其是对于我司这种初创型企业,人少钱少,每一分都得花到刀刃上,因此产品开…

新零售行业如何玩转线上服务

如今,随着市场的千变万化,企业的商业模式正在不断经历革新。如线上企业不再单纯走电商路线,纷纷进军线下卖场,而传统门店也在寻找线上突围的机会,通过与电商平台合作,开启线上专卖店。线上线下相结合的新零…

WebDAV之葫芦儿·派盘+静读天下

静读天下 支持webdav方式连接葫芦儿派盘。 如今,很多人都喜欢在手机上进行阅读,所以想要获得更好的阅读体验,一款实用的电子书就显得尤为重要了,因此,静读天下这款纯正的本地电子书阅读软件您值得拥有,而且还支持本地电子书备份到葫芦儿派盘。 静读天下是一款备受千万…

实例方法(instance method)、类方法、构造方法(三)

实例方法(没有static)的概念 对象被称为实例。实例相关的有:实例变量、实例方法。实例变量是对象变量。实例方法是对象方法。实例方法没有static。(对象方法,对象级别的方法) 实例方法的调用需要先new一个…

详解设计模式:桥接模式

桥接模式(Bridge Pattern)也称为桥梁模式、接口模式或者柄体模式,有点像适配器模式,也是 GoF 的 23 种设计模式中的一种结构型设计模式。 桥接模式 是用于把抽象化与实现化解耦,使得二者可以独立变化。这种类型的设计模…