iOS App上架全流程及相关处理
iOS app上架总体流程:

一、IOS上架整个流程
1、申请开发者账号
2、创建APP ID及申请证书
3、itunes connect 创建APP
4、打包 上传APP
5、提交APP,上线成功
1、申请开发者账号
苹果开发者账号主要分为三种:个人账号、公司账号、企业账号,三种账号年费和权限各不相同。开发者账号申请时间一般一个星期左右的时间。因为企业账号的应用不能发布到APP store,只能企业内部使用,但是企业账号签名后APP可以发布到分发平台让用户下载,无需苹果审核。
企业账号:年费是299美金/年 企业账号一直很难申请下来,一般需要上千人或上市公司,申请至少也需要3-6个月时间才有机会申请下来
个人账号/公司开发者账号: 年费都是99美金/年 个人及公司开发者账号都可以用于APP上架,近几年由于苹果政策原因 个人及公司账号申请难度加大,但是一般资料齐全,都是可以申请下来的
2、创建APP ID及申请证书
App ID的创建首先需要登录你的developer account,然后配置App bundle ID。xplicit App ID 的格式为:com.company.AppName(要有两个点.)照着格式写。然后登录你的iTunes connect,然后使用你的BUNDLE ID 创建一个App。
申请证书需要通过Mac的钥匙工具来生成证书(其中包括开发证书、下载证书、推送证书)。这里需要注意的是下载下来的证书只能在请求该证书的电脑上使用,如果想给其他开发者使用需要将已经导入的证书导出为个人信息交换(.p12)的格式供他人使用;以及证书有申请的个数限定,超过就不能申请了。
之后便可以创建描述文件了,描述文件的作用是把证书和Bundle Identifier关联起来。
3、itunes connect 创建APP
主标题:主标题是显示在 App Store 中的App本地化名称,一般包含标题主题部分和后缀部分。简单通顺的展现出App的功能与特性。主标题的词汇具用很高的权重,应尽量选择与App相关的高热度词,但不宜出现热门竞品品牌词,否则审核容易被拒。
副标题:副标题是App的一句简介,是对App的名称的一种补充,对App的词组有一定的权重加成。所以副标题的内容应尽量覆盖一些主标题没有的重要关键词。同样的副标题中不能出现热门竞品品牌词,文案应简洁且具有吸引力,展示App独特的一面,字数控制在30字符以内。
隐私政策网址:从2018年10月3日起隐私政策成为所有新App或者App更新的必填项,只能在提交新版本的时候才能更新链接或文本。填写时可观察竞品的隐私政策范文作为参考。
产品描述:App应用描述被限定在4000个字符以内,且为必填项,可以根据语言版本的不同,分别填写不同的语言。应用描述是对App特色和功能的详细介绍,尽量在描述的前三行展现出产品的核心特色,这样才能吸引用户。目前应用描述只有在 App 更新版本时才能修改。这里需要注意的是应用描述的内容不允许填写特殊字符
关键词:关键词允许填写100个字符,利用好可填写的100个字符,将100个字符尽量写满。虽然苹果官方给出的建议是每一个关键词用逗号隔开,但为了使App覆盖到更多关键词,开发者们可以选择在关键词中尽量少地使用逗号。如果有需要强调的关键词,可以单独用逗号隔开。关键词的设置影响着App会在哪些搜索结果中显示,以及在这些搜索结果中的基础排名。
应用分级:应用分级是苹果开发者后台一个必填的应用信息属性,根据对13个问题的选填结果,分级会即时改变,包括4岁以上、九岁以上、12岁以上、17岁以上、无分级五个等级,无分级状态是无法在App Store上销售的。问题选填时应与应用的实际情况相符,不然容易出现审核被拒的请况。
需要各个版本的屏幕截图,运行模拟器,还有就是一个1024*1024的图标,图标不能有圆角。
4、打包 上传APP
将申请好的证书和描述文件正确配置到 Xcode 中,设置好Xcode的一些属性:
在Xcode中选择iOS Device(这里不能选择模拟器);
如果应用不支持横屏,请在 General 选项中将 Landscape Left 和 Landscape Right 两项的勾选去掉;
查看版本号和构建版本号;
配置发布在证书。如果这里没有黄色叹号,代表你的配置没问题,如果有,那就是证书和描述文件不匹配,或者描述文件里刚才选的Bundle和现在的工程的Bundle Identifier不一致。
设置为 Release 模式。Debug是测试用的,Release是发布用的
之后便可选择 Xcode->Product->Archive打包项目,打包完成后选择 Upload to App Store上传。如果不想使用 Xcode上传的话,也可以选择 Export导出ipa文件, 需要注意的是在导出时,必须选择 Save for iOS App Store Deployment。然后通过Application Loader 工具上传 ipa 文件
5、提交APP,上线成功
App打包完成后,需要上传App Store Connect。按照以下步骤操作:
确保App所有功能开发测试完成。
进入App Store Connect创建新的App,填写完成App信息。
执行archive操作,打包ipa或直接上传构建版本(使用Xcode或者Application Loader)。
新建App版本号,选择已上传的构建版本,提交审核。
二、上架APP注意事项
1、如果应用已经申请上架中发现了产品存在Bug或者其他问题,建议还是自己打回来,不要等苹果来拒绝了
2、要想避免各种被苹果拒绝的情况,最好的办法就是阅读苹果的相关条例!
3、你的Xcode必须是正式版的,beta版本的Xcode是不能上传项目的。
4、App页面中不能出现“test”,“测试”,“demo”,“beta”等字样。
5、一定要保证美国可以访问到,因为审核人员都是在美国。
6、元数据中截屏一定要用苹果手机截屏,不能用非苹果设备,而且截屏里面功能和运行功能要一致。
图文详解–iOS APP上架流程一步步图解
相关文章:
iOS App上架全流程及相关处理
iOS app上架总体流程: 一、IOS上架整个流程 1、申请开发者账号 2、创建APP ID及申请证书 3、itunes connect 创建APP 4、打包 上传APP 5、提交APP,上线成功 1、申请开发者账号 苹果开发者账号主要分为三种:个人账号、公司账号、企业账…...
解决WordPress升级后提示:无需升级,您的WordPress数据库已经是最新的了
问题描述 当升级了 WordPress 6.3 后,登录后台出现了提示:无需升级,您的WordPress 数据库已经是最新的了。并且无法进入后台了。 出现这个问题的原因可能是你网站开启了 Memcached 缓存。 如何验证是否开启了 Memcached 缓存?检…...
springcloud之项目实战搭建单体
写在前面 在上篇文章 中我们介绍了项目的整体内容以及架构,本文就开始实现一个单体的版本,在之后的文章中,在使用springcloud相关组件将这个单体的版本一步步的拆分为微服务的版本,在开始之前再贴下组件图: 本文我们分…...
Mac 点击桌面 出现黑边框 解决
1、桌面黑框效果 2、解决:设置为 仅在台前调度中...
深度学习(2)---循环神经网络(RNN)
文章目录 一、序列数据和语言模型1.1 序列数据1.2 语言模型 二、循环神经网络(RNN)2.1 概述2.2 门控循环单元(GRU)2.3 长短期记忆网络(LSTM) 一、序列数据和语言模型 1.1 序列数据 1. 在深度学习中,序列数据(Sequence data)是指具有前后顺序…...
[NOIP2010 提高组] 机器翻译
[NOIP2010 提高组] 机器翻译 题目背景 小晨的电脑上安装了一个机器翻译软件,他经常用这个软件来翻译英语文章。 题目描述 这个翻译软件的原理很简单,它只是从头到尾,依次将每个英文单词用对应的中文含义来替换。对于每个英文单词…...
配置文件生成器-秒杀SSM的xml整合
配置文件生成器-秒杀SSM的xml整合 思路: 通过简单的配置,直接生成对应配置文件。 maven坐标 <dependencies><!-- 配置文件生成 --><dependency><groupId>org.freemarker</groupId><artifactId>freemarker<…...
小黑开始了拉歌训练,第一次进入部室馆,被通知要去当主持人心里有些紧张的leetcode之旅:337. 打家劫舍 III
小黑代码(小黑卡在了bug中,上午一步步探索做出,非常NB!!!) # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, rightNone): # self.val val # self.left lef…...
flutter开发实战-inappwebview实现flutter与Javascript方法调用
flutter开发实战-inappwebview实现flutter与Javascript方法调用 在使用inappwebview时候,需要flutter端与JS进行交互,调用相应的方法,在inappwebview中的JavaScript Handlers。 一、JavaScript Handlers 要添加JavaScript Handlers&#…...
alsa pcm设备之硬件参数
硬件参数包含了stream描述比如格式,采样率,通道数,和ringbuffer 圆形缓存区大小等. 使用snd_pcm_hw_params_t ,ALSA pcm设备使用了参数重定义系统相关的硬件参数,应用程序首先选择全范围的配置, 然后应用程序设置单个参数,直到所有参数都是基本的(确定的). 格式 量化位數&#…...
websocket拦截
python实现websocket拦截 前言一、拦截的优缺点优点缺点二、实现方法1.环境配置2.代码三、总结现在的直播间都是走的websocket通信,想要获取websocket通信的内容就需要使用websocket拦截,大多数是使用中间人代理进行拦截,这里将会使用更简单的方式进行拦截。 前言 开发者工…...
深度强化学习之 PPO 算法
深度强化学习之 PPO 算法 强化学习原理学习策略 基于行为价值 & 基于行为概率策略梯度算法:计算状态下所有行为的概率演员 - 评论家算法:一半基于行为价值,一半基于行为概率DQN 算法(深度Q网络)Q-Learning&#x…...
iPhone升级iOS17出现无法连接互联网的错误提示怎么办?
最新的iOS 17系统已经发布了快一个月了,很多人都已升级体验更多全新功能,但有部分用户却在升级过程中遇到一些问题:如无法验证更新,iOS17验证失败,因为您不再连接到互联网、 iPhone无法检查更新等错误问题。明明网络稳…...
Spring:处理@Autowired和@Value注解的BeanPostProcessor
AutowiredAnnotationBeanPostProcessor,它实现了MergedBeanDefinitionPostProcessor,因此会调用postProcessMergedBeanDefinition方法。 它实现了InstantiationAwareBeanPostProcessor,因此在属性注入时会调用postProcessPropertyValues方法 如果Autowired注解按类型找到了大…...
极坐标系下的交换积分次序
极坐标系下的交换积分次序 我把极坐标系下的交换积分次序总结为动静与静动之间的转换,下面通过一个例子感受一下 ρ 1 、 ρ 1 cos θ \rho1、\rho1\cos\theta ρ1、ρ1cosθ ∫ 0 π / 2 d θ ∫ 1 1 cos θ f ( ρ cos θ , ρ sin θ ) ρ d…...
MySQL命令行中文乱码问题
MySQL命令行中文乱码问题: 命令行界面默认字符集是gbk,若字符集不匹配会中文乱码或无法插入中文。 解决办法:执行set names gbk; 验证: 执行命令show variables like ‘char%’;查看默认字符集。 创建数据库设置字符集utf8&…...
图论---图的遍历
在图论中,图的遍历一般有两种,分别为DFS(深度优先遍历)、BFS(广度优先遍历),以下是这两种遍历方式的模板: DFS(深度优先搜索) 代码框架: void …...
AM@无穷小和无穷大
文章目录 abstract本文符号说明无穷小无穷小和自变量变化过程无穷小和函数极限的关系定理👺证明 无穷大无穷大不是数极限无穷大的说法证明函数极限为无穷大 无穷大和无穷小见的关系定理无穷小无穷大的运算法则 abstract 无穷小和无穷大的概念和相关性质 本文符号说…...
玄子Share- IDEA 2023 SpringBoot 热部署
玄子Share- IDEA 2023 SpringBoot 热部署 修改 IDEA 部署设置 IDEA 勾选如下选项 新建 SpringBoot 项目 项目构建慢的将 Spring Initializr 服务器 URL 改为阿里云:https://start.aliyun.com/ 在这里直接勾选Spring Boot Devtools插件即可 测试 切出 IDEA 项目文…...
kafka集群工作机制
一、kafka在zookeeper上的元数据解释 kafka中的broker要选举Controller角色来管理整个kafka集群中的分区和副本状态。一个Topic下多个partition要选举Leader角色和客户端进行交互数据 Zookeeper客户端工具: prettyZoo。 下载地址:https://github.com/vr…...
conda相比python好处
Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理:…...
云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?
大家好,欢迎来到《云原生核心技术》系列的第七篇! 在上一篇,我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在,我们就像一个拥有了一块崭新数字土地的农场主,是时…...
黑马Mybatis
Mybatis 表现层:页面展示 业务层:逻辑处理 持久层:持久数据化保存 在这里插入图片描述 Mybatis快速入门 
C语言,练习0: 先创建一个文件夹,我用的是物理机: 安装build-essential 练习1: 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件,随机修改或删除一部分,之后…...
ESP32读取DHT11温湿度数据
芯片:ESP32 环境:Arduino 一、安装DHT11传感器库 红框的库,别安装错了 二、代码 注意,DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...
srs linux
下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935,SRS管理页面端口是8080,可…...
Robots.txt 文件
什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...
Python 包管理器 uv 介绍
Python 包管理器 uv 全面介绍 uv 是由 Astral(热门工具 Ruff 的开发者)推出的下一代高性能 Python 包管理器和构建工具,用 Rust 编写。它旨在解决传统工具(如 pip、virtualenv、pip-tools)的性能瓶颈,同时…...
HashMap中的put方法执行流程(流程图)
1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中,其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下: 初始判断与哈希计算: 首先,putVal 方法会检查当前的 table(也就…...
视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)
前言: 最近在做行为检测相关的模型,用的是时空图卷积网络(STGCN),但原有kinetic-400数据集数据质量较低,需要进行细粒度的标注,同时粗略搜了下已有开源工具基本都集中于图像分割这块,…...
