当前位置: 首页 > news >正文

iOS - AppStores App 上架

前言

  • 1、准备

    • 开发者账号
    • 完工的项目
  • 2、上架步骤

    • 1) 创建 App ID
    • 2) 创建证书请求文件(CSR文件)
    • 3) 创建发布证书(CER)
    • 4) 创建 Provisioning Profiles 配置文件(PP 文件)
    • 5) 在 App Store 创建应用
    • 6) 打包上架

1、创建 App ID

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

    AppStores1

    AppStores2

    AppStores3

  • 2、填写信息创建 app ID

    AppStores4

    AppStores5

    AppStores6

    AppStores7

    AppStores8

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

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

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

    AppStores9

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

    AppStores10

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

    AppStores11

  • 4、选择存储到桌面,存储

    AppStores12

  • 5、点击完成

    AppStores13

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

    AppStores14

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

  • 1、在苹果开发者中心找到 Certificates,点击 All,然后点击右上角 + 号

    AppStores15

  • 2、点击 App Store and Ad Hoc

    AppStores16

    • 发布证书和开发者证书需要分别创建,开发者证书用于真机调试,发布证书用于提交到 AppStore
  • 3、点击 Continue

    AppStores17

  • 4、点击 Continue

    AppStores18

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

    AppStores19

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

    AppStores20

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

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

4、创建 Provisioning Profiles 文件

  • 1、在苹果开发者中心找到 Provisioning Profiles,点击 All,然后点击右上角 + 号

    AppStores21

  • 2、选择 App Store,点击 Continue

    AppStores22

    • 该流程也需要分别创建开发用的 PP 证书和发布的 PP 证书
  • 3、在 App ID 这个选项栏里面找到你刚刚创建的:App IDs(Bundle ID) 类型的套装,点击 Continue

    AppStores23

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

    AppStores24

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

    AppStores25

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

    AppStores26

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

5、在 App Store 创建应用

  • 1、回到苹果开发者中心的 Account,点击 iTunes Connect

    AppStores27

  • 2、点击我的 App

    AppStores28

  • 3、点击新建 iOS App

    AppStores29

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

    AppStores30

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

    AppStores31

  • 6、填入 App 简介

    AppStores32

  • 7、按提示依次输入

    AppStores33

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

    AppStores34

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

6、打包上架

  • 在 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 一定要是开发者账号的账号和密码

    AppStores35

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

    AppStores36

    AppStores37

    AppStores38

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

    AppStores39

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

    AppStores40

  • 5、打包之后会生成一个 ipa 文件 ,然后返回苹果开发者中心 => iTunes Connect => 我的 App(在构建版本处),点击 Application Loader 就会将其下载下来,然后通过该软件把 ipa 文件上传到 appstore 上

    AppStores41

    AppStores42

    AppStores43

    AppStores44

    • application Loader 上传出现的错误。解决方案:ERROR ITMS-90158:"The following URL schemes found in your app are not in the current format:[XXX]." 删除 schemes 中的XXX 路径 如下图

    AppStores45

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

  • 7、提交审核

相关文章:

  • 从输入 URL 到浏览器接收的过程中发生了什么事情
  • java设计模式类图大全
  • Spark Streaming 的玫瑰与刺
  • CentOS 6.4下Squid代理服务器的安装与配置
  • 0909滴滴面试小结
  • Mongodb 利用mongoshell进行数据类型转换
  • pom.xml标签以及maven在Idea使用
  • Android 样式和主题(style theme)
  • Linux作业7
  • 判断终端是ios还是安卓的一些妙用(附加微信分享图标修改)
  • 4: Accessing Environment Variables(Working with programs)
  • flat network 原理与配置 - 每天5分钟玩转 OpenStack(86)
  • 4 张 GIF 图帮助你理解二叉查找树
  • linux目录结构详细介绍
  • Android EditText光标位置(定位到最后)
  • 分享的文章《人生如棋》
  • 《剑指offer》分解让复杂问题更简单
  • 4月23日世界读书日 网络营销论坛推荐《正在爆发的营销革命》
  • Docker入门(二) - Dockerfile
  • ECMAScript 6 学习之路 ( 四 ) String 字符串扩展
  • es6(二):字符串的扩展
  • ES6核心特性
  • Fabric架构演变之路
  • JavaScript DOM 10 - 滚动
  • LintCode 31. partitionArray 数组划分
  • Linux快速配置 VIM 实现语法高亮 补全 缩进等功能
  • php ci框架整合银盛支付
  • Python 反序列化安全问题(二)
  • python 学习笔记 - Queue Pipes,进程间通讯
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 纯 javascript 半自动式下滑一定高度,导航栏固定
  • 欢迎参加第二届中国游戏开发者大会
  • ------- 计算机网络基础
  • 聊聊spring cloud的LoadBalancerAutoConfiguration
  • 如何编写一个可升级的智能合约
  • 三分钟教你同步 Visual Studio Code 设置
  • 使用 Xcode 的 Target 区分开发和生产环境
  • 一个JAVA程序员成长之路分享
  • 用quicker-worker.js轻松跑一个大数据遍历
  • 如何通过报表单元格右键控制报表跳转到不同链接地址 ...
  • #常见电池型号介绍 常见电池尺寸是多少【详解】
  • (10)ATF MMU转换表
  • (python)数据结构---字典
  • (三)Hyperledger Fabric 1.1安装部署-chaincode测试
  • (转载)PyTorch代码规范最佳实践和样式指南
  • .helper勒索病毒的最新威胁:如何恢复您的数据?
  • .net core 3.0 linux,.NET Core 3.0 的新增功能
  • .NET LINQ 通常分 Syntax Query 和Syntax Method
  • .NET3.5下用Lambda简化跨线程访问窗体控件,避免繁复的delegate,Invoke(转)
  • .Net各种迷惑命名解释
  • .NET关于 跳过SSL中遇到的问题
  • .NET文档生成工具ADB使用图文教程
  • .so文件(linux系统)
  • [AIGC] Java 和 Kotlin 的区别
  • [bzoj2957]楼房重建