app提交上架最新流程 ios

简介: app提交上架最新流程 ios

一、上架基本需求资料


1、苹果开发者账号(公司已有可以不用申请,需要开通开发者功能,每年 99 美元)

2、开发好的APP

二、证书

上架版本需要使用正式的证书

1、创建证书 Apple Developer

2、上传证书 Sign In - Apple

3、进入开发者中心 Certificates, Identifiers & Profiles 点击 Certificates 旁边的+ 新增证书

4、选择最新的分发版证书 Apple Distrbution,右上角 continue

5、按要求填写后提交。

一般都要创建两个证书一个用于开发,一个用于上架,如果有支付内容,还必需要 Apple Pay 的证书

6、创建 profile

左侧菜单选 profile 点+号创建,选择 App Store,创建好后获得一个 TYPE 为 App Store 的 Profiles, 可用于打包上架应用

上传app包文件到app store后台。

方法1.借助辅助工具appuploader,首先按照流程注册登录后,即可直接创建证书,通过hbuilder上传

创建ios(.p12)证书

1.点击苹果证书


d179f0fa371b4c13bb35e3278724a35a.png

2.新增苹果证书

40f7b606b4954ce9a8ccc1f35cfa3a4f.png



3.输入证书密码:这个密码不是账号密码,而是一个保护证书的密码,是p12文件的密码,此密码设置后没有其他地方可以找到,忘记了只能删除证书重新制作,所以请务必记住密码。还有为了安全起见,密码不要太简单。

证书名称是你为了在证书列表里面便于区别的一个字符,自己好辨识就可以,尽量是是字母和数字之类

4.选择证书类型: 带distribution的是发布类型,带development的是开发类型。apple类型=ios+mac,所以开发时选择ios app development和apple development 类型都是可以的

5. 选择bundle ID:只有部分类型的证书需要选择bundle id,例如推送证书。因为大部分证书是不和app关联的。而是通过描述文件profile文件关联app。

6. 使用appuploader服务同步:如果期望制作好证书后在其他电脑上同样可以下载到这个证书,或者和你同事同步此证书,则需要勾选使用appuploader服务同步。否则您需要手动管理p12文件在不同电脑之间的传输,并且一但创建下载后,无法在其他电脑下载,只能手动复制文件过去。一般情况下,推荐使用appuploader服务同步。

7. 证书类型说明:IOS开发选择apple development或者ios app development 类型

ios 发布选择 apple distribution或者 ios distribution (app store and ad hoc)

开发推送证书选择 apple push notification service ssl (sandbox)

发布推送证书选择 apple push notification service ssl (sandbox & production)

其他证书不是很常用,可以自行百度各种证书说明。


8.官遇到问题,首先登录文章开通的苹果开发官网。检查是否有权限/是否被停用/是否过期/是否有协议需要同意。在右上角切换账号检查所关联的账号是否功能正常。Apple邮箱会接收到许多通知消息,如IPA上传,账号发生变化,被停用,都会有消息提示。


9.上架版本需要使用正式的证书(apple distribution),开发测试用开发证书(apple development)


10.一般都要创建两个证书一个用于开发,一个用于上架,如果有支付内容,还必需要 Apple Pay 的证书。证书无需创建太多,apple对证书有数量限制,一般3个开发证书就不让创建更多同类型的证书了。

11.点击p12下载到电脑。


32325e4297b34b02b40eaf651bd4f07a.png


添加测试设备UDID

1.点击udid

bc09d1d76d4f4bcb8ea4503f4da0a47e.png


2.新增udid


d2fac4f81e8d467895f89aad04d02b55.png7b99fee0ee3549c08fdece4f7ef4962f.png


创建描述文件

1.点击描述文件


2bebcadc5c8f4eb5bfc7dc301266cf59.png

2.点击新增描述文件,在弹出框里面选择要安装测试到的设备,如果是发布类型无需选择设备。选择使用的证书,如果忘记是哪个 了可以选择全部证书。


f79e98025b6a41c9bf80eb8a9215c135.png


3.描述文件类型说明:带app store类型的是发布类型,带development的是开发类型,push没有描述文件,所以不要问推送选择哪种描述文件类型,os开发选择ios app development类型,发布app的时候选择app store类型。(ps:除了APP Store类型的描述文件外,其他的描述文件都需要选择测试设备)

4.点击下载按钮下载桌面

c212b618881f4ea8b13fe5ee9782089d.png


测试安装App

1.以HBuilder打包Vue项目为例,打开详细设置进行设置完成后,点击保存。


47f46fcfe81f410b8217fa3454520d25.png


2.官菜单项点击‘发行-> 云打包-打原生包’,出现如下图所示弹框,取消广告勾选,没有错误提示,选择刚才制作的p12和.mobileprovision文件,输入刚才设置的证书密码。点击打包,等待打包未完成(仅以ios为例)

99719330f4b7454ab653395273002096.png


3.官打包完成后点击确定“OK”按钮查看打包状态信息,打包完成后,保存安装包到目标文件,发送到手机端安装即可运行。


b3076d9589384e18a4984430b291f4f1.png

4.测试设备:如果选择的类型是ios app development 类型,则全部测试设备旁边必须有测试设备并且勾选上,如果没有显示测试设备,点击框框下面的添加测试,然后把测试设备的udid输入,把ios设备连接到当前pc,会自动获得设备的udid。 如果app编译后无法安装到设备,可能是因为设备的udid没有添加进入描述文件,则需要添加描述文件后重新编译。


方法2.Xcode上传,这里简单讲下步骤:


构建打包ipa文件


打包成功后,选择具体包版本,点击Distribute App。


选择App Store Connect。(Ad Hoc选项代表出包给测试人员测试)


点击next,后面几个步骤都点击Next按钮,选项配置不用管都按默认的走。


最后点击Upload,就开始上传了,耐心等待。我大概6分钟就上传成功了(包文件如果大或者网速慢时间相对会比较长)。这是我上传成功的截图:


上传成功后,登录App Store Connect,进入app详情页面,点击顶部TestFlight,在构建版本中就可以看到你刚上传的版本,状态一般会显示正在处理。


如果等了很久(10分钟左右吧)刷新页面还是没看到上传的构建版本,那么就是ipa包被拒绝了,这时候一般会收到拒绝原因的邮件。我就是这种情况😂(包含过时的UIWebView),邮件如下:


解决问题,重新上传就行了。 最终上传构建的app版本状态显示为准备提交才能提交审核,状态从正在处理变为准备提交我等待了20分钟左右,这个时间是不固定的,看具体情况,类似那种几百兆的app,时间就会特别长。


选择APP版本,提交审核

登录App Store Connect,进入App详情页面,找到构建版本,然后选择一个最新提交的构建版本。


滑动页面到最顶部,点击存储,然后再点击右边的添加以供审核,确认相关信息后,就提审成功了。


接下来就是等待审核,苹果审核时间大多集中在晚上凌晨或者第二天早上6-8点, 顺利的话一般2天左右就有审核结果。


等了2天,“不出意外”,我提交的审核被无情的拒绝了:


这种情况没办法,只能根据实际情况去进行修改,或者做出必要的解释说明。被拒绝多次也是很常见的,反正耐心的去解决苹果提出的问题,最终都会通过审核的。


至此,iOS app上架app store流程就结束了。


三、打包

1、版本配置,双击左侧菜单项目打开 xcodeproj,编辑 Version 或 build 第一次可以随意,但是提交版本成功后,这两个必须有一个值是新的,以作区分,否则提交上传就一定会被拒收

2、配置签名,选择 Signing&Capabilities

3、 然后是常规操作,设备选 Any Ios Device,Archive 后就是漫长的等待 一般为避免打包空间不够,可以先clean 一下

4、打包完成后,点击 Distribute App 上传到 App Store Connect,稍后 appid 邮箱会收到结果通知

四、审核

第一次提交审核时,这一步大多都会被拒绝,要求调整修改;这些要求都 会通过邮件发送,及时查看邮件并根据要求调整就好

常见的有

1、权限未申请或申请权限的提示文字不符合标准,在下面配置

2、使用了过期的 api,如 UIWebView

3、无法独立完成程序操作,如,支付集成了第三方,但是没有 apple pay的选项

4、权限未作详细说明

5、图标包含alpha通道

6、包内有framework未签名成功

……

如若遇到问题不会解决请私信或评论,无偿全部帮您解决!

相关文章
|
数据采集 运维 供应链
数据的分类和分级
数据的分类和分级
1388 0
|
6月前
|
存储 缓存 Kubernetes
KubeCon China 2025 速递:成本 vs 性能,如何为 K8s 工作流选型最佳存储方案?
本文基于KubeCon China 2025的精彩议题分享,探讨在成本约束下为K8s工作流选择最佳存储方案。
|
9月前
|
人工智能 机器人 测试技术
3D具身基础模型!北大提出Lift3D赋予2D大模型鲁棒的3D操纵能力
北京大学研究团队提出Lift3D框架,通过增强2D预训练模型的隐式与显式3D机器人表示,实现鲁棒的3D操作策略。核心包括任务感知掩码自编码器和2D模型提升策略,有效提高3D空间感知能力。实验表明,Lift3D在模拟与真实场景中性能优越,但计算成本较高且未涉及语言条件理解。未来可结合多模态模型优化应用。
221 30
|
前端开发 测试技术 持续交付
前端工程化:构建高效、可维护的现代Web应用
【10月更文挑战第5天】前端工程化:构建高效、可维护的现代Web应用
|
存储 前端开发
在React框架中,如何使用对象来管理组件的状态
在React中,组件状态通过`state`对象管理,利用`setState`方法更新状态。状态变化触发组件重新渲染,实现UI动态更新。对象结构清晰,便于复杂状态管理。
|
Android开发
Android 修改盒子路由方式 Static / DHCP
Android 修改盒子路由方式 Static / DHCP
215 2
|
机器学习/深度学习 分布式计算 算法
大模型开发:你如何确定使用哪种机器学习算法?
在大型机器学习模型开发中,选择算法是关键。首先,明确问题类型(如回归、分类、聚类等)。其次,考虑数据规模、特征数量和类型、分布和结构,以判断适合的算法。再者,评估性能要求(准确性、速度、可解释性)和资源限制(计算资源、内存)。同时,利用领域知识和正则化来选择模型。最后,通过实验验证和模型比较进行优化。此过程涉及迭代和业务需求的技术权衡。
605 2
|
存储 弹性计算 文件存储
对象存储OSS产品常见问题之OSS Bucket 创建好后更改存储类型如何解决
对象存储OSS是基于互联网的数据存储服务模式,让用户可以安全、可靠地存储大量非结构化数据,如图片、音频、视频、文档等任意类型文件,并通过简单的基于HTTP/HTTPS协议的RESTful API接口进行访问和管理。本帖梳理了用户在实际使用中可能遇到的各种常见问题,涵盖了基础操作、性能优化、安全设置、费用管理、数据备份与恢复、跨区域同步、API接口调用等多个方面。
522 0
|
Kubernetes Java 测试技术
ChaosBlade故障问题之支持JVM故障注入如何解决
ChaosBlade 是一个开源的混沌工程实验工具,旨在通过模拟各种常见的硬件、软件、网络、应用等故障,帮助开发者在测试环境中验证系统的容错和自动恢复能力。以下是关于ChaosBlade的一些常见问题合集:
|
存储 弹性计算 固态存储
【操作系统】计算机大脑CPU
【操作系统】计算机大脑CPU
【操作系统】计算机大脑CPU