iOS App 上架流程图文教学

news2024/11/19 19:32:00

在上架App 之前必须先准备好开发者帐号,但申请开发者帐号因法兰克早在之前已经申请好了,故就跳过此步骤,直接从产生凭证到上传App开始讲起。首先,要将自己辛苦写好的App 送审的话,则要依序做完下列几件事情即可。

  • 在开发者后台产生.cer(凭证档)
  • 在开发者后台产生App ID
  • 在开发者后台产生Provisioning Profile
  • 在App Store Connect送审App

.cer(凭证档)

凭证档的用意是要告诉Apple 说这台电脑是开发者在使用的,若在本机没有安装是无法打包App 上架的。另外凭证是会到期的,一年后必须重新安装,到期日即为从注册成为开发者后开始算一年。

App ID

包含要上架App 的相关设定。

Provisioning Profile

该档案是要告诉Apple 说,即将要被上传的App 资讯,包含凭证档(.cer) 和App ID 等。若有使用Apple ID 登入Xcode,则会自动在本机产生档案,将不需要额外再做设定。(这个动作在早期是要手动新增的)

开发者后台

1. 产生凭证档.cer

​证书我们这边可以借助辅助工具appuploader

Appuploader可以辅助在Windows、linux或mac系统直接申请iOS证书p12,及上传ipa到App Store,最方便在Windows开发上架没有苹果Mac电脑的开发者!配合本教程使用,可以快速掌握如何真机测试及上架!

点击苹果证书按钮

点击新增

输入证书密码,名称

这个密码不是账号密码,而是一个保护证书的密码,是p12文件的密码,此密码设置后没有其他地方可以找到,忘记了只能删除证书重新制作,所以请务必记住密码。还有为了安全起见,密码不要太简单。 证书名称是你为了在证书列表里面便于区别的一个字符,自己好辨识就可以,尽量是是字母和数字之类

选择证书类型

带distribution的是发布类型,带development的是开发类型。

apple类型=ios+mac,所以开发时选择ios app development和apple development 类型都是可以的

选择bundle id

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

1.1 在产生.cer 之前必须先产生.certSigningRequest (CSR) 档案,打开Launchpad 并搜寻keychain ,开启「钥匙图存取」

1.2 在Toolbar 选取「钥匙图存取」->「偏好设定」后,在分页选取「凭证」后,将「线上凭证状态协定(OCSP)」和「凭证撤销列表(CRL)」皆设定为「关闭」

1.3 将「偏好设定」关掉后,打开「钥匙图存取」->「凭证辅助程式」->「从凭证授权要求凭证」

1.4 在「凭证辅助程式」视窗,填入以下资讯

使用者电子邮件=> 填入开发者帐号的「Apple ID」

一般名称=> 开发者帐号的名字

 CA电子邮件=> 不用填

已将要求=> 储存到硬碟

勾选「指定密钥配对资讯」

1.5 在「凭证辅助程式」视窗下的「密钥配对资讯」,将「密钥大小」设为2048 bits ;「演算法」设为RSA

以上步骤完成后,已成功产生.certSigningRequest 并存放至指定的路径了。

1.6 有了.certSigningRequest 后,接着要产出.cer 凭证档案

登入Apple Developer 网页,点选「Certificates, Identifiers & Profiles」

1.7 点选左侧栏位「Certificates」 -> 「+」来新增凭证

1.8 选取「iOS Distribution(App Store and Ad Hoc)」后,点选「Continue」继续下一步

1.9 点选「Choose File」上传第一个步骤产生.certSigningRequest 档案后,点选「Continue」继续下一步

1.10 点选「Download」储存.cer 凭证档案后,确定已储存在本机后,点选「Done」完成

1.11 最后双击下载的.cer 档即会自动执行安装至key chain 中

2. 产生provisioning profile 档案

2.1 建立Identifiers

在生成provisioning profile 之前,必须先建立Identifiers,点选左侧栏位Identifiers, 接着点选右侧上方的「+」→「App IDs」→ Type 选择「App」

2.2 在Registering an App ID 页面设定以下资讯

*Description => App 的描述

*Bundle ID 选择Explicit App ID => 填入同Xcode 的Bundle identifier

*依App 实际需求选取App Services

以上确认无误后点选「Continue」进行下一步

Bundle identifier

2.3 确认App ID 资讯无误后,点按「Register」

2.4 产生.Provisioning Profile

在Profiles 点选「+」 新增Profile。

选取「App Store」,点选「Continue」下一步。

2.5 选取上一步骤所建立的App ID 后点选「Continue」

2.6 选取凭证后点选「Continue」

2.7 Provisioning Profile Name 同App ID,点选「Continue」

2.8 建立完成后,下载并安装。

3.送出审核申请单

3.1登入App Store Connect

3.2 登入后点选我的App

3.3 新增App

点选左上角的+ 号,并选择「新的App」,并填妥以下栏位后点选「建立」

*平台=> iOS

*名称=> App Store 上呈现的App 名称

*主要语言=> App 的主要语言(例繁体中文)

*套装组ID => Bundle ID

*SKU => App 名称- 版本(例{App Name}-1.0),此名称不会显示在App Store 上

3.4 填写App 资讯

请选择该App 的类别,其它栏位会自动带入,点选「储存」。

3.5 设定App 定价与供应状况,这边依该App 的实际状况填入即可

3.6 提供各个装置的App 萤幕快照

点选左侧的1.0 准备提交,这边会要求提供App 在各个装置的萤幕快照,此时则必须开启模拟器撷取各种设备的图。若只有上架到iPhone 就只需要准备iPhone 的图即可,图的尺寸则必须遵照以下网址内Screenshot Properties 提供的尺寸上传。

iTunes Connect Properties

Describes how to use the iTunes Connect website to manage iOS and Mac apps on the App Store.

ppt.cc

备注:千万不要傻傻的一张一张拍照再调整大小,可利用模拟器的拍照功能(command + s),但要记得先把模拟器缩放到最大(command + 1)再进行拍照,即可拍出符合上传的尺寸大小。若先上传5.5 吋的照片再点选其它显示器,则其它显示器预设为套用5.5 吋的规格,请记得先取消勾选。

3.7 填写其它App 相关资讯

*描述=> App 的功能和特色描述

*关键字=> 在App Store 里的搜寻关键字(可设定多组并用逗号隔开)

*支援URL => App 的相关网页

*填写一般App 资讯上

*传App 的图像、版权

*设置App 的分级

*App 审查资讯=> 联络资讯

备注:联络电话填入的格式比较符合拨打国际电话的格式,又分为手机和市内电话。

  1. 手机:+886 972111111
  2. 市内电话:+886 02 11111111

展示帐号=> 若App有实作登入功能的话,则该栏位必须填入

设定要发行此版的方式

以上都填妥后点选「储存」,若有问题,网页则会贴心的提示错误讯息。

4. 透过Xcode 打包App 并上传

Xcode 开发环境已与App Store Connect 紧密整合在一起了,新增App 到App Store Connect 时,使用Xcode上传App 的建置版本既直接又有效率。

4.1 将编译的目标机器设置成「Generic iOS Device」,接着选取Product –> Archive

4.2 点选「Upload to App Store」

4.4 登入App Store Connect 查看上传的App 活动-> iOS建置版本,即可看到透过Xcode 上传的App 版本

备注:没有很即时,必须等待一下子,才可在App Store Connect 查找到刚刚上传的档案

4.5 登入App Store connect 新增透过Xcode 上传的版本

App Store -> iOS App -> XX准备提交-> 建置版本。点选「+」号,选取刚刚透过Xcode 上传的建置版本,点选「完成」

4.6 点选右上角的「提交以供审查」

4.7 选择「出口合规资讯」、「内容版权」、「广告识别码」等相关选项后,点选「提交」

以上已完成送审的动作了~哇终于完成了再来就等待审查了啰!以法兰克的例子给大家参考,大概需要7~10天等待的时间喔~

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

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

相关文章

NFT Insider #98:The Sandbox与Forkast Labs 达成合作,苹果的混合现实头显将增强游戏和元宇宙

引言:NFT Insider由NFT收藏组织WHALE Members(https://twitter.com/WHALEMembers)、BeepCrypto(https://twitter.com/beep_crypto)联合出品,浓缩每周NFT新闻,为大家带来关于NFT最全面、最新鲜、最有价值的讯息。每期周…

对称加密DES加密算法原理、用户登录应用案例分享

更多知识 学习:https://www.processon.com/view/60504b5ff346fb348a93b4fa#map 目录: DES算法的工作原理DES算法的优点DES算法的缺点DES算法的应用场景DES算法性能分析用户登录实例总结 1. DES算法的工作原理 DES算法是一种对称加密算法,使…

定向写作模型CTRL,Conditional Transformer Language有条件的文本生成模型

定向写作模型CTRL 介绍 CTRL全称为Conditional Transformer Language有条件的文本生成模型,它始于Salesforce在2019年发布的论文《A Conditional Transformer Language Model for Controllable Generation》,该模型用于定向写作。论文地址如下&#xff…

双功能螯合剂:1777804-45-1,DOTA-(COOt-Bu)3-CH2-Ph-azide,的反应特点及其参数说明

​ 中文名称:1,1-二甲基乙基4-[(4-叠氮苯基)甲基] -7,10-双[2-(1,1-二甲基乙氧基) -2-氧乙基] -1,4,7,10-四氮杂环十二烷 -1-乙酸酯 英文名称:DOTA-(COOt-Bu)3-CH2-Ph-azide,DOTA-(COOt-Bu)3-CH2-Ph-N3 规格标准:1g、5g、10g CAS…

【电源设计】18650电池电源串并联设计——改变电压或容量

有时我们有需要改造电池电源的需要,比如增大容量,增大电压之类的,本文介绍18650锂电池,以及如何用18650锂电池串并联设计电源,达到增大容量或者增大电压的效果: 目录 一、18650锂电池基本知识&#xff1a…

腾讯的基础认证适合没经验、没专业知识的人吗?

IT行业可以说是现在最热门的行业之一了,很多人都会选择报考这个专业,同时还有很多没有基础的人,也会选择在毕业后继续教育,从而获得进入这一行的机会,可以说每个人都在内卷,技术和证书都需要拥有&#xff0…

这就是实力!京东资深架构师用实例详解Java虚拟机(源码剖析)

前言 Java是一门流行多年的高级编程语言,与其相关的就业岗位很多,但是最近几年却出现了用人单位招不到合适的人,而大量Java程序员找不到工作的尴尬局面。究其根本原因是岗位对Java开发技术的要求高,不但要会应用,而且…

祛除红眼算法python实现

最近研究了一下祛除红眼的算法,主要的思想都是将RGB通道里面的R通道给想法设法的降低,其他的通道稍微进行变换就行,这里使用python运行了一下例子看看, version2参考了代码:https://www.cnblogs.com/cpuimage/p/90002…

华为IP-san实验搭建

文章目录 RedHat or CentOS系统1、获得多路径软件2、配置主机iscsi名3、配置存储映射4、主机访问存储的LUN5、安装多路径解决重复磁盘问题6、使用多路径扫盘 windows系统1、为win虚拟机提供多路径包文件2、创建存储与主机的连接3、主机使用磁盘 RedHat or CentOS系统 1、获得多…

为什么 kubernetes 环境要求开启 bridge-nf-call-iptables ?

文章目录 背景基于网桥的容器网络Service 同节点通信问题开启 bridge-nf-call-iptables我的环境netshoot 工具 参考 背景 Kubernetes 环境中,很多时候都要求节点内核参数开启 bridge-nf-call-iptables: sysctl -w net.bridge.bridge-nf-call-iptables1 参考官方文…

SQL语句的一些高级用法1

这里写目录标题 SQL语句的一些高级用法11.修改表名和表结构1.修改表名 2.扩展表结构(增加字段)3.修改字段(列)名,添加唯一键4.删除字段 案例扩展数据表高级操作1.克隆表,将数据表的数…

【Spring Boot学习】Spring Boot的创建和使用

前言: 💞💞今天我们开始学习Spring Boot,这里我们会学习到怎么去创建和使用Spring Boot,在这里我们会了解到什么是最为核心的框架之一。 💞💞前路漫漫,希望大家坚持下去,…

大模型 Transformer介绍-Part1

众所周知,transformer 架构是自然语言处理 (NLP) 领域的一项突破。它克服了 seq-to-seq 模型(如 RNN 等)无法捕获文本中的长期依赖性的局限性。事实证明,transformer 架构是 BERT、GPT 和 T5 及其变体等革命性架构的基石。正如许多…

SpringBoot仿GPT数据流传输

目录 Java数据流传输响应前提Springboot文字流响应Web端接收流数据并显示 SpingBoot集成ChatGPT使用流响应结果 Java数据流传输响应 前提 在折腾ChatGpt集成在SpringBoot项目时,发现了ChatGpt api返回数据时有两种返回方式,一种是使用流传输&#xff0…

MyCat总结

目录 什么是mycat 核心概念 逻辑库 逻辑表 分片节点 数据库主机 用户 mycat原理 目录结构 配置文件 读写分离 搭建读写分离 搭建主从复制: 搭建读写分离: 分片技术 垂直拆分 实现分库: 水平拆分 实现分库: ER表 全局表 分…

简要介绍 | 基于深度学习的姿态估计技术

注1:本文系“简要介绍”系列之一,仅从概念上对基于深度学习的姿态估计技术进行非常简要的介绍,不适合用于深入和详细的了解。 注2:"简要介绍"系列的所有创作均使用了AIGC工具辅助 基于深度学习的姿态估计技术 背景介绍 …

【备战秋招】每日一题:2023.05-B卷-华为OD机试 - 告警抑制

2023大厂笔试模拟练习网站(含题解) www.codefun2000.com 最近我们一直在将收集到的各种大厂笔试的解题思路还原成题目并制作数据,挂载到我们的OJ上,供大家学习交流,体会笔试难度。现已录入200道互联网大厂模拟练习题&a…

基于Dlib的疲劳检测系统

需要源码的朋友可以私信我 基于Dlib的疲劳检测系统 1、设计背景及要求2、系统分析3、系统设计3.1功能结构图3.2基于EAR、MAR和HPE算法的疲劳检测3.2.1基于EAR算法的眨眼检测3.2.2基于MAR算法的哈欠检测3.3.3基于HPE算法的点头检测 4、系统实现与调试4.1初步实现4.2具体实现过程…

使用MATLAB画SCI论文图

从gcf和gca说起 不论是 Python 绘图还是Matlab绘图,想要获得更好看的图,都会用到这两个单词。 gcf:get current figure,是目标图像的图形句柄对象 gca:get current axes,是目标图像的坐标轴句柄对象 Mat…

pandas---数学函数、离散化处理、分组聚合

1. 数学函数 方差:当数据分布比较分散(即数据在平均数附近波动较大)时,各个数据与平均数的差的平方和 较大,方差就较大;当数据分布比较集中时,各个数据与平均数的差的平方和较小。因此方差越 …