前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >iOS-最全的App上架教程

iOS-最全的App上架教程

原创
作者头像
iOS程序应用
发布于 2022-10-28 02:45:40
发布于 2022-10-28 02:45:40
4540
举报

App上架教程

在上架App之前想要 真机测试的同学 请查看 iOS- 最全的真机测试教程 里面包含怎么让多台电脑同时 上架App和同时真机调试。P12文件的使用详解

因为最近更新了Xcode 8 ,证书的创建都大同小异,只是在Xcode 8中的设置有一些变化,我就在下面补充,如有什么疑问,请联系我。。

同样可以在Build Setting 的 sign中设置证书,但是有点麻烦,建议就在General中设置证书,比较方便,还可以查看错误的地方。

Xcode 8 证书设置

准备

  • 开发者账号
  • 完工的项目

上架步骤

  • 一、创建App ID
  • 二、创建证书请求文件 (CSR文件)
  • 三、创建发布证书 (CER)
  • 四、创建Provisioning Profiles配置文件 (PP文件)
  • 五、在App Store创建应用
  • 六、打包上架

一、创建App ID

1.打开苹果开发者网,点击“Account”登录会员中心。

2.填写信息创建app ID

二、创建证书请求文件(CSR文件)

CRS文件主要用于 绑定你的电脑的

1 点开LaunchPad,在其他中找到打开钥匙串访问

2 点击电脑左上角的钥匙串访问–证书助理–从证书颁发机构请求证书

3 出现如下界面,选择存储到磁盘,点击继续

4 选择存储到桌面,存储

5 点击完成

6 在桌面上看到下面的文件,证书请求文件完成

三、创建发布证书 (CER文件)

1 找到Certificates ,点击All,然后点击右上角 + 号

2 点击App Store and Ad Hoc

发布证书和开发者证书需要分别创建,操作两次,开发者证书用于真机调试,发布证书用于提交到AppStore。

3. 点击Continue

4. 点击Continue

5.点击choose File.. 选择创建好的证书请求文件:CertificateSigningRequest.certSigningRequest 文件,点击Generate **

6. 点击Download下载创建好的发布证书(cer后缀的文件),然后点击Done,你创建的发布证书就会存储在帐号中。

7.双击安装。如果安装不上,可以直接将证书文件拖拽到钥匙串访问的列表中

重点: 一般一个开发者帐号创建一个发布证书就够了,如果以后需要在其他电脑上上架App,只需要在钥匙串访问中创建p12文件,把p12文件安装到其他电脑上。这相当于给予了其他电脑发布App的权限。

四、创建Provisioning Profiles文件

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

2. 选择App Store,点击Continue

该流程也需要进行两次,分别创建开发用的PP证书和发布的PP证书。

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

4.选择你刚创建的发布证书(或者生成p12文件的那个发布证书),点击Continue

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

注意:wildCard格式的证书没有推送,PassCard等服务的应用,慎重选择。因为PP证书的开发者证书需要真机调试,所以我们需要绑定真机,这里因为之前添加过一些设备,所以这里就可以直接全选添加,如果没有的话,需要将真机的udid复制出来在此添加。在发布PP文件中,是没有这一步的。

6.Download生成的PP文件,然后点击Done

双击就添加到Xcode中,这样在真机调试或者发布时,就可以分别有不同的PP证书与其对应。其实可以不用下载保存

五、在App Store创建应用 1、回到Account,点击iTunes Connect

2、点击我的App

3、点击新建 iOSApp

4、依次按提示填入对应信息,然后点击创建

5、依次把不同尺寸的App截图拉入到对应的里面

6、填入App简介

7、按提示依次输入

此时这个构建版本还没有生成,我们先把基本信息填写完毕,然后再进入Xcode中把项目打包发送到过来。注意:填写完一定要点击右上角的保存。

不要忘记填写测试账号,否则会被拒的,而且一定要跟服务器同事说好,不要删除测试账号,否则同样被拒(联系号码 一定要+ 86 如:+86 13720329661)

六、打包上架

在Xcode中打包工程找到你刚刚下载的发布证书(后缀为.cer)或者p12文件,和PP文件,双击,看起来没反应,但是他们已经加入到你的钥匙串中。如果之前步骤已操作过,可省略此步。

1、打开Xcode,配置项目环境,点击+可以选择Add Apple ID;点击View Details可以查看该Apple Id下的Certificates和Provisioning Profile证书文件,在这里你可以点击下载。在项目Targets下的Identity中,Team选择对应的Apple ID 即可。

特别注意: 这里填写的Apple ID 不是你自己手机上创建的Apple ID 一定要是 开发者账号的 账号和密码 (QAQ 我就在这里被坑过)

2、选择模拟器为iOS Device,按照下图提示操作

3、修改.plist文件,两个.plist文件都要修改

4、Archive在线打包,在真机状态下选择Product——>Archive,如果不是真机状态下,Archive会是灰色不可用的)。

5、打包之后会生成一个 ipa文件 ,然后返回我的App~~在构建版本处,点击Application Loader 就会将其下载下来,然后通过该 软件把ipa文件上传到 appstore上

这里我们插一个知识点 iOS打包-api包的4中方法

** 打包过程中 会出现的问题 **

解决方案:iOS- 打包时 UUID出错的解决方案

**application Loader 上传出现的错误 **

解决方案:ERROR ITMS-90158:"The following URL schemes found in your app are not in the current format:[XXX]." 删除 schemes 中的XXX 路径 如下图

6.发送成功后返回到我的App,刷新页面,在构建版本处就会有个 + 号,点击 + 号把发送过来的程序添加上去就行了

7.提交审核

在上架App之前想要 真机测试的同学 请查看

iOS- 最全的真机测试教程 里面包含怎么让多台电脑同时 上架App和同时真机调试。P12文件的使用详解

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
JVM运行时的数据区,静态变量,成员变量,类变量
①声明的位置 局部变量:方法体们中,形参,代码块们中 成员变量:类中方法外 - 类变量:有static修饰 - 实例变量:没有static修饰 ②可用的修饰符 局部变量:final 成员变量:public、protected、private、final、static、volatile、transient ③值存储的位置 局部变量:栈 实例变量:堆 类变量:方法区。 ④作用域 局部变量:从声明处开始,到所属的]结束口实例变量:在当前类中“this.”(有时this.可以缺省),在其他类中“对象名.”访问 类变量:在当前类中“类名.”(有时类名.可以省略),在其他类中“类名.” 或“对象名.”访问 ⑤生命周期 局部变量:每一个线程,每一次调用执行都是新的生命周期口 实例变量:随着对象的创建而初始化,随着对象的被回收而消亡,每一个对象的实例变量是独立的 类变量:随着类的初始化而初始化,随着类的卸载而消亡,该类的所有对象的类变量是共享的
名字是乱打的
2022/05/13
1.1K0
JVM运行时的数据区,静态变量,成员变量,类变量
Java中静态变量(类变量)、实例变量、局部变量和成员变量
学习Java的过程中,一开始很容易被这些各种变量绕晕,这篇博客主要介绍了这几种变量之间的关系和区别。
用户8639654
2021/07/19
2.6K0
Java 菜鸟入门 | Java中的静态变量、实例变量、局部变量和成员变量
学习 Java 的过程中,一开始很容易被这些各种变量绕晕,这篇博客主要介绍了这几种变量之间的关系和区别。
村雨遥
2022/11/30
1.8K0
静态变量和成员变量的区别 && 成员变量和局部变量的区别
=============================================================================
黑泽君
2018/10/11
1.8K0
Java面试题总结
自增变量 主要是对 i++ 和 ++i 的理解 public class Test01 { public static void main(String[] args) { // 变量自增 i++ ++i的理解 int i = 1; i = i++; // int j = i++; int k = i + ++i * i++; System.out.println("i=" + i);
shaoshaossm
2022/12/27
2980
Java面试题总结
java中的局部变量和全局变量哪个优先_java中成员变量是全局变量吗
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/171760.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/24
1.4K0
成员变量,类变量,局部变量的区别是什么_内部变量和局部变量
大家好,又见面了,我是你们的朋友全栈君。 变量名首写字母使用小写,如果由多个单词组成,从第2个单词开始的其他单词的首写字母使用大写。
全栈程序员站长
2022/11/17
1.9K0
成员变量,类变量,局部变量的区别是什么_内部变量和局部变量
Java Review (八、面向对象----成员变量和局部变量)
在Java语言中,根据定义变量位置的不同,可以将变量分成两大类:成员变量和局部变量。成员变量和局部变量的运行机制存在较大差异。
三分恶
2020/07/16
1K0
Java全局变量(成员变量)和局部变量的区别
2:静态变量被所有的对象所共享,在内存中只有一个副本,它当且仅当在类初次加载时会被初始化。
全栈程序员站长
2022/09/24
1.2K0
Java全局变量(成员变量)和局部变量的区别
Java变量
定义 在程序执行的过程中,在某个范围内其值可以发生改变的量。 从本质上讲,变量其实是内存中的一小块区域 分类 按被声明的位置划分 成员变量 方法外部,类内部定义的变量 类变量(静态变量):独立于方法之外的变量,用 static 修饰。 类变量也称为静态变量,在类中以static关键字声明,但必须在方法构造方法和语句块之外。 无论一个类创建了多少个对象,类只拥有类变量的一份拷贝。 静态变量除了被声明为常量外很少使用。常量是指声明为public/private,final和static类型的变量。常量初
Java架构师必看
2021/07/16
9080
Java - 局部变量和成员变量
概念 成员变量 成员变量就是属于类的变量,在类中,方法体外定义的变量 成员变量又分为两种: **类变量(静态变量):**是被static所修饰的成员变量,是属于类的部分,属于类的范畴。 **实例变量(非静态变量):**是没有被static修饰的成员变量,是属于类的部分,但是属于对象的范畴。 局部变量: 局部变量就是定义在方法体,代码块内的变量,是局部的变量,属于方法的范畴。 **比如:**方法的形参,方法内定义的变量等等。 区别 1、定义的位置不一样 局部变量:在方法的内部 成员变量:在方法的外部,直接写在
kenvie
2022/01/20
1.4K0
Java的面向对象
一个人,每一个人都完成一部分,注重谁来做,重在找“参与者”,强调具备功能的对象,以类/对象为最小单位。
楠羽
2022/11/18
7170
Java的面向对象
【Java零基础入门篇】第 ④ 期 - 继承(三)
编写一个类时,其实就是在描述其对象的属性和行为,而并没有产生实质上的对象,只有通过new关键字才会产生出对象,这时系统才会分配内存空间给对象,其方法才可以供外部调用。
命运之光
2024/03/20
940
Java基础——成员变量、局部变量和静态变量的区别
之前在刚开始学习Java的时候,就谈了谈Java基础中的变量,虽然知道这货以后会经常用到,但没想到了基本语法这里,竟然有冒出来了成员变量、局部变量和静态变量。变来变去太容易让人搞晕了,挑拣出来梳理一下喽!
全栈程序员站长
2022/08/14
1.2K0
Java-值传递和值引用
参考:https://mp.weixin.qq.com/s/Qp6Cc0mlRLnrToNy5-3zeg java的值传递和值引用是一个普通但重要的内容,今天我们依次来了解一下。
android_薛之涛
2019/01/03
1.7K0
JAVA——类的定义及其实例化
1.Java中的类 类可以看成是创建Java对象的模板 修饰符 class 类名{     修饰符 数据类型 属性名(成员变量);//属性     //构造方法(无修饰符,无返回值,名称和类名一样)      //方法(成员函数) }        通过下面一个例子,简单理解一下Java类的定义 public class CAT{// public是类的修饰符,class是定义类的关键字,CAT是类名     String name;     int age;//name、age是类的成员变量     v
mathor
2018/06/22
1.4K0
大数据技术之_31_Java 面试题_01_JavaSE 面试题 + SSM 面试题 + Java 高级面试题 + Java 项目面试题
要点: 1、某个类只能有一个实例;   构造器私有化 2、它必须自行创建这个实例;   含有一个该类的静态变量来保存这个唯一的实例 3、它必须自行向整个系统提供这个实例;   对外提供获取该实例对象的方式:   (1)直接暴露   (2)用静态变量的get方法获取
黑泽君
2019/06/19
8791
大数据技术之_31_Java 面试题_01_JavaSE 面试题 + SSM 面试题 + Java 高级面试题 + Java 项目面试题
Java基础(七):面向对象编程-类和对象
Java微观世界
2025/01/21
1350
Java基础(七):面向对象编程-类和对象
【Java】05 面向对象
注意:   方法必须定义在类中方法外。   方法必须明确返回值类型(可以为空 void)、参数列表(可以为空 什么都不写)。   Java 里的方法不能独立存在,它必须属于一个类或一个对象
Demo_Null
2020/09/28
3960
【Java】05 面向对象
这一次,让你彻底理解Java的值传递和引用传递!
学过Java基础的人都知道:值传递和引用传递是初次接触Java时的一个难点,有时候记得了语法却记不得怎么实际运用,有时候会的了运用却解释不出原理,而且坊间讨论的话题又是充满争议:有的论坛帖子说Java只有值传递,有的博客说两者皆有;这让人有点摸不着头脑,下面我们就这个话题做一些探讨,对书籍、对论坛博客的说法,做一次考证,以得出信得过的答案。
Java团长
2019/06/26
9510
这一次,让你彻底理解Java的值传递和引用传递!
推荐阅读
相关推荐
JVM运行时的数据区,静态变量,成员变量,类变量
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档