iOS App的上架和版本更新流程

news2024/12/27 13:50:42

一、前言:

作为一名iOSDeveloper,把开发出来的App上传到App Store是必要的。下面就来详细讲解一下具体流程步骤。

二、准备:

  1. 一个已付费的开发者账号(账号类型分为个人(Individual)、公司(Company)、企业(Enterprise)、高校(University)四种类型,每年资费分别为$99、$99、$299、免费。)。

  2. 一个已经开发完成的项目。

三、检查:

  1. 你的Xcode必须是正式版的,beta版本的Xcode是不能上传项目的。

  2. 上传使用的Mac的OS X系统必须也是正式版的,beta版本也不行。

  3. 请确认你安装的Xcode是从App Store或者是开发者网站下载的,而不是从其它渠道获取的安装包安装的,因为非官方途径下载的Xcode可能带有XcodeGhost 病毒。如何检查?

    检查

四、生成发布证书:

  1. 打开苹果开发者中心:https://developer.apple.com,点击:Account

developer

  1. 下面输入已付款过的Apple账号和密码登录(如果你的电脑已经保存了密码,会直接进入)

    开发者登录账号

  2. 点击:Certificates,Identifiers & Profiles (专门生成证书,绑定Bundle Id,绑定device设备,生成描述文件的地方)

        Member Center

我们这边介绍一种简便的制作证书,绑定bundle ID,生成描述文件的方法。

一.登录apple官网,注册账号

1.注册苹果账号

Sign In - Apple

2.登录开发者中心 ,出现协议弹框,同意即可。

二.下载Appuploader和登录

3.下载Appuploader

Appuploader home -- A tool improve ios develop efficiency such as submit ipa to appstore and manage ios certificate

4.把压缩包解压,双击应用程序即可打开工具。

5.登录刚刚申请的苹果账号 ,要选未支付688(正式的开发者账号每年要支付

688)

三.bundle ID

添加bundleid ,名称随意,id是hbuilder的appid

四.设备管理

添加测试设备,有两种方法获取,第一种是安装iTunes,手机自动获取,第二种是

苹果手机扫码获取udid。(推荐是扫码获取方便)

五.证书管理

6.进入证书管理

7.进入证书管理,创建证书,名称密码随便填,但密码要记住,对应的是hbuilder

打包时候的私钥密码

六.描述文件管理

8.进入描述文件管理,添加描述文件,名称随意,类型选择对应的就行,证书和设

备全部勾选就行。

9.将生成的证书和描述文件都下载下来(PS:证书是p12类型的)

七.打包

10.hubidler打包

八.安装测试

11.安装

使用Appuploader有两种安装方法。

1.未支付apple 688的可以下载iTunes,连接上手机,进入下载中心,选择ipa包安装​

2.已支付apple 688d1可以扫码安装测试。​

(PS:第一次安装成功会显示不受信任,进入设置-通

用-vpn与设备管理信任开发者app,然后进入“隐私与

安全性”界面,点击“开发者模式。)​

热门教程

  1. 点击Certificates生成证书 1.选择iOS, tvOS, watchOS 2.选择All 3.点击右上角新添加证书

    添加新证书1

  2. 由于是做App上传,选择生产证书(选择App Store and Ad Hoc)

    选择App Store and Ad Hoc

    注意:

    一个开发者账号只能创建(1-2个开发(测试)证书,2-3个生产(发布)证书),如果你的App Store Ad Hoc前面的按钮不能选择,则代表你的这个账号无法再创建新的生产证书了。

    解决方法:

    1、从共同使用这个账号的人电脑上生成.p12文件,导入自己的电脑。(尽量不要执行下面第2步)

    2、如果你想生成的话,把现有的删除一个(建议删除时间比较靠前的)。

    注意:

    如果删除一个证书,那么正在使用这个证书的人将不能再使用了,除非重新生成,然后利用.p12重新导入自己的电脑里!

    如果你想删除证书,执行下面步骤,否则略过。

    删除证书

    然后接上上图,生产证书部分继续

    生成证书2

    生成证书3

    生成证书4

  3. 上传CSR文件去获取证书(CSR文件需要我们到本机钥匙串里去创建) 1、在Launchpad的其他里面,点击钥匙串访问弹出如下界面

    其他

    钥匙串访问

    2、工具栏选择钥匙串访问->证书助理->从证书颁发机构请求证书...

    请求证书

    证书信息

    3、将CSR文件保存到MAC磁盘的某个位置(这里我选择的是桌面,进行存储)

    存储证书

    点击完成

    CertificateSigningRequest.certSigningRequest 文件

  4. 然后回到浏览器,点击Choose File...

    选择CSR文件

  5. 选择创建好的:CertificateSigningRequest.certSigningRequest文件,点击选取

    选取CSR文件

    点击Generate上传证书

    上传CSR证书

  6. 跳转到如下界面,点击 DownLoad 下载生成的证书(cer后缀的文件),然后点击Done,你创建的发布证书就会存储在帐号中。

    下载生成的证书

    cer后缀的文件

    注意:

    这个证书只能下载一次。点击下载后,关闭页面后就不能再回到下载页面了。

    如果不需要给别的电脑使用,则直接跳过下面附加项,跳转到第五步(绑定Bundle Identifier)

    附加项:生成 p12文件在其他电脑上使用这个发布证书

    1、双击安装证书后,打开钥匙串访问,选择安装的证书右键单击

    安装的发布证书

    注意:

    如果没有导出,可以把这个证书删除,然后重新双击下载的证书文件安装。

    2、导出证书

    导出证书

    3、存储证书

    存储导出的证书

    注意:

    存储的文件格式一定要是.p12

    4、设置密码

    可以为证书设置密码,也可以不设置密码;如果设置了密码,那么别人安装这个证书的时候就要输入密码,否则无法安装。这里就不设置密码了。

    设置密码

    5、保存导出的证书

    p12发布证书

    如果需要在其它电脑上也能发布App,那么就必须要安装这个发布证书。

五、创建App IDs和绑定你的App的Bundle Identifier

回到刚才的页面: <https://developer.apple.com/account/ios/identifiers/bundle/bundleList.action

1、点击App IDs,进入如下界面,点击右上角的 + 号

点击App IDs

2、填写App IDs和Bundle Identifier

填写App IDs和Bundle Identifier

注意: 1、上传App使用的Bundle Identifier(不要有-,都是英文+数字)必须是固定的,不能使用占位符。 2、如果你的Bundle Identifier已经在网站上绑定了,如果你又修改了你工程里面这个Bundle Identifier的话,需要重新进入到开发者账号里面绑定。

修改工程的Bundle Identifier

下面选择App中包含的服务,默认有两项,其余的根据自己项目的需求进行选择

App Services

3、点击Continue

点击continue

4、点击Register

点击Register

5、点击Done

点击Done

六、生成描述文件(描述文件的作用就是把证书和Bundle Identifier关联起来)

1、找到Provisioning Profiles ,点击All,然后点击右上角+号

Provisioning Profiles

2、因为是发布,所以选择下面App Store这个描述文件,点击Continue

选择App Store

3、在App ID 这个选项栏里面找到你刚刚创建的:App IDs(Bundle Identifier) 类型的套装,点击Continue

选择发布项目的Bundle Identifier

4、选择你刚创建的发布证书(或者生成p12文件的那个发布证书),根据自己电脑上的发布证书日期来选择,点击Continue

选择创建的发布证书

5、在Profile Name栏里输入一个名字(这个是Provisioning Profiles文件的名字,可随便输入,在这里我用工程名字,便于分别),然后点击Generate

给描述文件起个名字

6、Download生成的PP文件,然后点击Done,双击安装(闪一下就完事了,没其它效果)

Download生成的PP文件

生成的描述文件

七、在App Store开辟空间

1、回到Member Center,点击iTunes Connect

点击iTunes Connect

2、登录开发者账号(还是之前已付费的账号)

登录开发者账号

3、登录成功后,点击我的App

点击我的App

4、点击左上角那个+号,点击新建(注意:我们是iOS App开发,不要选Mac App啦)

新建 App

5、依次按提示填入对应信息(SKU是公司用于做统计数据之类的id,根据公司需求填写),然后点击创建

填写App信息

注意:如果都填好以后,可能会告诉你,你的App名称已经被占用,那么不好意思,你只能改名了!(而且建议大家起名不要往比较出名的App上靠,否则审核可能会被拒绝) 6、填写App其它信息

App信息

7、填写价格和销售范围(由于我的开发者账号没有签订纳税合同,所以不能上线收费应用,所以只能暂时免费)

填写价格和销售范围

8、依次把不同尺寸的App截图拉入到对应的里面 需要填写不同尺寸的手机屏幕截图(也就是拿不同尺寸的模拟器运行后,挑出至少3页最多5页进行截图然后拖到响应的区里)(在模拟器Command+S 就可以保存屏幕截图到桌面了)(注意:如果提示拖进去的图片尺寸不对,则把模拟器弄成100%然后再Command+S) 尺寸参照表在下面

设置不同尺寸的App截图

9、填写App简介

填写App简介

10、按提示依次输入

按提示依次输入

错误提示:如果上传App图标失败,提示Alpha错误的话,看下面。 打开你的图标图片,勾掉这个

勾掉这个

11、点击分级后面的编辑,如实填写后,点击完成

分级信息

12、填写审核信息

填写审核信息

版本发布就是:(然后最下面选择自动发布的话就是如果审核通过,就自动上传到App Store供人下载) 13、此时这个构建版本还没有生成,我们先把基本信息填写完毕,然后再进入Xcode中把项目打包发送到过来。 注意:填写完一定要点击右上角的保存。

八、在Xcode中打包工程

找到你刚刚下载的发布证书(后缀为.cer)或者p12文件,和Provisioning Profiles文件,双击,看起来没反应,但是他们已经加入到你的钥匙串中。 1、在Xcode中选择iOS Device(这里不能选择模拟器),按照下图提示操作

选择iOS Device

2、如果你的应用不支持横屏,把这两个勾去掉

如果你的应用不支持横屏,把这两个勾去掉

3、查看版本号和构建版本号

查看版本号和构建版本号

4、配置发布证书(ps:截图时选择的证书是错误的,大家注意一下,要选择发布证书)

配置发布证书

注意:如果这里没有黄色叹号,代表你的配置没问题,如果有,那就是证书和描述文件不匹配,或者描述文件里刚才选的Bundle和现在的工程的Bundle Identifier不一致,去https://develop.apple.com 上找到你的描述文件在确认下绑定的Bundle Identifier和你工程是不是一样的?

检查

5、将断点、全局断点,僵尸模式等都要去掉。

去掉断点、全局断点

prodect->scheme->edit scheme

去掉僵尸模式

6、设置Release模式(Debug是测试的,Release是发布用的)

image.png

image.png

image.png

image.png

7、选择 Xcode下 Product 下 Archive(专门用于传项目,或者打包项目)

选择Archive

image.png

image.png

8、出现下图说明你没有添加开发者账号,点击右下脚Add... 按钮就可以添加

没有添加开发者账号

9、输入付费的开发者账号

输入开发者账号

可能会弹出下面这个界面,如果不弹出,按Command加。

image.png

10、然后回到Archive(选择已付费的账号),然后点击Choose

选择已付费的账号

然后等待

image.png

11、选择Upload提交

Upload提交

12、如下就代表上传成功,如果出错,请参照iOS App上传项目遇到的问题

上传成功

13、返回Itunes Connect网站上你自己的App信息中查看一下

在App信息中查看

14、在这个构建版本这里就可以添加代码

添加代码

点击+号之后选择代码版本

添加构建版本

15、提交以供审核

提交以供审核

16、App已经从准备提交,变成正在等待审核状态

正在等待审核状态

九、补充

1、构建版本的方法有两种,一种是使用 Xcode(上面已经介绍了),另一种就是使用一个叫 Application Loader 这个软件:

Application Loader

  • 使用Xcode构建版本: 上面已经介绍(已经Archive的话,可以在Xcode: Window -> Organizer进入)

    Upload to App Store…

  • 使用Application Loader 构建版本: 1、如上图,点击Export...,导出一个ipa文件(ps:为了保险起见、让苹果审核顺利一点,这里可以先点击Validate...来验证一下,这里就懒得验证了) 2、Application Loader下载Xcode的时候就已经下载了(没有的请自行下载),Xcode 右键弹出下面界面

    Open Developer Tool

    打开Application Loader(如果没有登录,会提示你登录你的开发者账号)

    Application Loader

    选取你导出的ipa文件(或者双击“交付您的应用程序”选取ipa文件),之后按提示操作就行,上传完毕没有报错的话,过几分钟左右就可以在ITunes Connect 里面就可以看到你上传的这个版本了。

    构建版本



app版本更新如下:

一、构建新版本:

iTunes Connect 登陆你的开发者账号,进入到你要更新的APP,查看APP详细信息,点击下面的版本或平台按钮( 英文状态为:VERSION OR PLATFORM ),构建新版本:

image.png

这里只需要在弹出框里填写新的版本号即可;

image.png

二.、上传IPA

image.png

image.png

选择新的构建版本,保存,然后提交审核就OK了!

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

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

相关文章

2023上半年软考系统分析师科目一整理-17

2023上半年软考系统分析师科目一整理-17 计算机系统的性能一般包括两个大的方面。一个方面是它的&#xff08;&#xff09;&#xff0c;也就是计算机系统能正常工作的时间&#xff0c;其指标可以是能够持续工作的时间长度&#xff0c;也可以是在一段时间内&#xff0c;能正常工…

【域名详解】网络杂谈(13)之深入简出了解什么是域名

涉及知识点 什么是域名&#xff0c;域名的概念&#xff0c;域名的结构&#xff0c;域名地址的寻址过程&#xff0c;深入了解域名的寻址机制。 原创于&#xff1a;CSDN博主-《拄杖盲学轻声码》&#xff0c;更多内容可去其主页关注下哈&#xff0c;不胜感激 文章目录 涉及知识点…

【工作记录】基于CSS+JS可拖拽改变大小、可吸附到边界的DIV

记录一段实现可拖拽、可自动吸附到边界的代码。 <!DOCTYPE html> <html lang"en"> <head><style>body {overflow: hidden;}#pane {position: absolute;width: 45%;height: 45%;top: 20%;left: 20%;margin: 0;padding: 0;z-index: 99;border…

青岛大学_王卓老师【数据结构与算法】Week03_07_线性表的链式表示和实现7_学习笔记

本文是个人学习笔记&#xff0c;素材来自青岛大学王卓老师的教学视频。 一方面用于学习记录与分享&#xff0c;另一方面是想让更多的人看到这么好的《数据结构与算法》的学习视频。 如有侵权&#xff0c;请留言作删文处理。 课程视频链接&#xff1a; 数据结构与算法基础–…

【Java项目】拉取公司GitLab项目的教程

文章目录 创建Git账号登录Git 创建Git账号 进入公司后&#xff0c;会拿到公司给你注册的邮箱以及密码&#xff0c;你得到用户名和密码之后&#xff0c;需要先创建一个拉取这个仓库对应的git账号。 我们先登录GitLab 当你登录GitLab之后&#xff0c;会显示你还没有ssh key&…

基于matlab使用基本形态运算符和 blob分析的组合从视频流中提取信息(附源码)

一、前言 此示例演示如何使用基本形态运算符和 blob 分析的组合从视频流中提取信息。在本例中&#xff0c;该示例计算每个视频帧中大肠杆菌的数量。请注意&#xff0c;细胞的亮度各不相同&#xff0c;这使得分割任务更具挑战性。 形态运算符是一种图像处理中常用的操作&#…

Linux系统部署BBR服务器加速软件

1. BBR加速软件介绍 BBR简介&#xff1a;   BBR是谷歌的黑科技&#xff0c;也可以理解为用来加速网络的软件&#xff0c;如果服务器在海外&#xff0c;会发现丢包率很高&#xff0c;线路还会时断时续。所以&#xff0c;不用点黑科技&#xff0c;肯定是没办法使用。而BBR加速能…

团体程序设计天梯赛-练习集L2篇⑨

&#x1f680;欢迎来到本文&#x1f680; &#x1f349;个人简介&#xff1a;Hello大家好呀&#xff0c;我是陈童学&#xff0c;一个与你一样正在慢慢前行的普通人。 &#x1f3c0;个人主页&#xff1a;陈童学哦CSDN &#x1f4a1;所属专栏&#xff1a;PTA &#x1f381;希望各…

Redis 安装配置 常用命令

---------------------- 关系数据库与非关系型数据库 ---------------------------------------- ●关系型数据库&#xff1a; 关系型数据库是一个结构化的数据库&#xff0c;创建在关系模型&#xff08;二维表格模型&#xff09;基础上&#xff0c;一般面向于记录。 SQL 语句&…

Tomcat的安装部署

tomcat安装部署 tomcat安装部署 一、概述&#xff1a;1.tomcat介绍&#xff1a;2.tomcat核心组件&#xff1a;3.tomcat处理内部请求&#xff08;数据流向图&#xff09;4.tomcat服务部署&#xff1a; 二、虚拟主机配置&#xff1a;1.创建 chan 和 baek 项目目录和文件&#xf…

【C语言初阶(5)】循环练习题

文章目录 1. 计算 n 的阶乘2. 计算 1!2!3!……10!3. 使用二分查找法查找某数二分查找算法介绍代码实现 4. 演示字符移动5. 模拟用户登录场景 1. 计算 n 的阶乘 阶乘 某个数从 1 开始一直乘到这个数本身为止&#xff1b; 例如&#xff1a;3 的阶乘就是 1 * 2 * 3 6&#xff1b…

利用SpringBoot整合mybatis

代码地址&#xff1a;https://gitee.com/jkangle/springboot-exercise.git 1.构建SpringBoot项目 注意版本不能太高版本太高会出现问题整体的项目结构如图 2.导入Mybatis依赖 <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis --><dependency>&l…

vim 对js文件和txt的操作不同

vim 对js文件和txt的操作不同 https://www.runoob.com/w3cnote/ascii.html 同样一段话&#xff0c;vim 123.txt 和 vim 123.js &#xff0c;将下面这些内容复制&#xff0c;然后粘贴&#xff0c; 显示的效果不一样 .js文件 会把 0D 0A 变换为 0A 09 import { request } from…

图像去模糊:RSBlur 数据集以及模糊图像合成方法

本内容主要介绍图像去模糊数据集 RSBlur&#xff0c;以及逼真模糊图像合成方法。 论文&#xff1a;Realistic Blur Synthesis for Learning Image Deblurring 代码&#xff08;官方&#xff09;&#xff1a;https://github.com/rimchang/RSBlur 1.1 背景 运动模糊是由曝光…

89C52RC普中单片机-4

20230629 Thusday lcd1602代码 lcd1602.c #include <REGX52.H>//引脚配置&#xff1a; sbit LCD_RSP2^6; sbit LCD_RWP2^5; sbit LCD_ENP2^7; #define LCD_DataPort P0//函数定义&#xff1a; /*** brief LCD1602延时函数&#xff0c;12MHz调用可延时1ms* param 无*…

UNet Pytorch实现

用于图像分割的不同种类的Unet模型的实现 UNet - U-Net&#xff1a; 用于生物医学图像分割的卷积网络 https://arxiv.org/abs/1505.04597RCNN-UNet - 基于U-Net的递归残差卷积神经网络&#xff08;R2U-Net&#xff09;用于医学图像分割 https://arxiv.org/abs/1802.06955Atten…

ROS学习总结(一)

渐渐开始接触项目了&#xff0c;准备把以前学习的ros做一些总结&#xff0c;以致孰能生巧。 ros分布框架学习 vscode使用ros节点和包 vscode使用 下载&#xff1a;https://code.visualstudio.com/ 安装&#xff1a;sudo dpkg -i code(tap补全) code 能快捷启动。 插件安装&am…

django.db.utils.OperationalError: no such table: onlyoffice_customuser

我写了个类 Curstomuser 重新运行命令&#xff1a; >python manage.py makemigrations就报错了&#xff1a; 我以为是自己设计的类有问题&#xff0c;结果发现是因为我在其它 py 文件中进行了数据库查询。 而 Django 架构让我忽略了代码运行的前后关系。。。 先注释掉其它…

【STM32】keil MDK-Arm 5.38 功能详解

一、基本概念二、软件安装三、软件介绍3.1 Intro3.2 keil菜单栏3.21 file选项3.22 Edit 选项3.23 View选项3.24 Project选项3.25 Flash选项3.26 Debug选项3.27 Peripherals选项3.28 Tools选项3.29 SVCS选项3.2.10 Window选项3.2.11 Help选项 3.3 keil工具栏 四、设置与项目设置…

七牛云下载文件(显示在浏览器上)

最近在做关于如何将七牛云的文件下载下来&#xff0c;且在浏览器页面展示下载文件。 首先&#xff0c;我们需要注册七牛云账号 七牛云官网。 选择个人账户即可&#xff0c;若是需要企业账户&#xff0c;则可以选择企业账户。 注册成功绑定邮箱后&#xff0c;我们可以创建存储…