iOS上架该怎么做?_biaolipian0851的博客-程序员宅基地

技术标签: 移动开发  xcode  

App Store上架指的是iOS应用从提交申请到上线的整个过程,它的目的是让应用展示在App Store上获取流量、用户。
iOS上架该怎么做?

一、iOS上架的整体流程

1、申请开发者账号

苹果的开发者账号主要分为三种类型:个人账号、公司账号、企业账号,三者的费用以及权限等都不尽相同。开发者账号的申请过程一般需要一个星期左右的时间。一般开发者申请的都是个人或者公司的账号,因为企业账号的应用不能发布到App Store,只能企业内部使用,但是企业账号签名之后的App可以直接发布到分发平台或者放着自己的服务器上让用户下载,无需经过苹果审核。然后通过渠道链接把用户引流到平台或者服务器下载,并且统计数据。
目前,由于政策原因,个人开发者账号以及公司开发者账号,都没有以前好申请了,但是只要资料齐全,都是可以申请下来的,市面上存在的账号也比较多,基本上每个开发公司都有一个或多个;但是企业开发者账号就一直比较难申请了,今年更甚,苹果公司对企业开发者账号申请的门槛加高了许多,就算一个拥有几千人的集团公司或者是上市公司,申请最少三个月的时间才有机会申请下来。

iOS上架该怎么做?
公司和企业的账号申请需要邓白氏码,如果邓白氏码未申请,请先申请邓白氏码,这个过程需要一到两个星期。邓白氏编码申请下来后,会发送一个邮件告诉你,最好在14个工作日之后再使用,因为苹果那边同步数据需要时间。如果要提前使用,失败次数不能超过3次。

2、创建App×××(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的图标,图标不能有圆角。
    iOS上架该怎么做?图片: https://uploader.shimo.im/f/jQ95nq7LfTQiJ9hB.png
  • App预定:对于那些支持预定的App,在App未上架之前用户可以提前在App Store查看产品页面并预定该产品,等产品上线之后,用户会收到通知,这个功能可用于产品正式上线之前的预热,开发者可以根据市场热度反馈提前对产品相关内容进行适当调整。

    4、打包上传App

    将 2 步骤中申请好的证书和描述文件正确配置到 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 Store Connect。按照以下步骤操作:

  • 确保App所有功能开发测试完成。
  • 进入App Store Connect创建新的App,填写完成App信息。
  • 执行archive操作,打包ipa或直接上传构建版本(使用Xcode或者Application Loader)。
  • 新建App版本号,选择已上传的构建版本,提交审核。

审核的注意事项:

  • 仔细检查关于App的各项资料是否填写正确,需要特别注意不同语言下的信息是否准确无误。
  • 如果App是需要登录账号才能进入的,那么需要在后台填写测试账号以供苹果审核。
  • 需要准备已经在线隐私政策协议,见附件,把本应用替换为App名称。
  • 对于等待审核的版本,您仍可以编辑所有信息。要提交新的构建版本,您必须将此版本从审核中移除。

二、iOS上架的一些建议

1、App的文字描述不能越界,苹果官方首先会看App的文字描述,如果不过关,直接拒绝;当然脱离苹果的宣传是另外一回事。
2、苹果默认采取的是最小策略:硬件需求最小化;苹果在审核的时候会最大化的关闭硬件参数,所以一定要在参数说明中加入硬件参数。
3、要想避免各种被苹果拒绝的情况,最好的办法就是阅读苹果的相关条例!
4、,如果你的产品已经申请上架,但是发现了产品存在Bug或者其他问题。建议还是自己打回来,不要等苹果来拒绝了。
5、绝大多数的App上架审核但是需要7天的,有些运气好的可以一天时间内就通过了,这种情况很少见。不过,每个账号有两次机会申请加急处理。
6、你的Xcode必须是正式版的,beta版本的Xcode是不能上传项目的。
7、关于iOS渠道统计的问题,可以使用工具 openinstall ,通过渠道链接来统计iOS分渠道数据,只需要上传一个标准安装包,即可无限生成携带不同参数的渠道链接或者二维码,同时兼容iOS/Android,然后根据需求把渠道链接或者二维码分发到各个渠道,实时统计数据。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/biaolipian0851/article/details/100966339

智能推荐

环路保护、网关冗余(HSRP)、VRRP、GLBP_hsrp vrrp glbp_一切无常的博客-程序员宅基地

单向链路故障----尤其在光纤网络,很可能出现可以接收但不能发送;一旦出现单向链路故障,网路及时存在STP,也依然可能出现环路;注解:当一个要阻塞的接口由于单向链路故障收不到BPDU时,就阻塞不了该接口,但是可以发送出去BPDU,故形成了死循环;即生成树没有阻塞接口,而物理链路在转发消息;以上情况将出现err-disable。解决方法:【1】UDLD–当一根网线出现单向链路故障时,直..._hsrp vrrp glbp

如何在重定向的情况下向前端传数据_若相知丶的博客-程序员宅基地

如何在重定向的情况下向前端传数据后端: //Spring MVC import org.springframework.web.servlet.mvc.support.RedirectAttributes; //RedirectAttributes attributes 用于接收重定向传递的数据 @PostMapping("/login") public String login(@RequestParam String username, @

Proguard的增量混淆和applymapping_-applymapping_Java9K的博客-程序员宅基地

Proguard怎么实现增量混淆,我们查看proguard的选项:-applymappingfilenameSpecifies to reuse the given name mapping that was printed out in a previous obfuscation run of ProGuard. Classes and class members that are ..._-applymapping

ROS的常见的12条命令_ros 屏蔽qq_小菜鸡?_?的博客-程序员宅基地

ROS的常见的12条命令命令名作用 及使用方法rosrun使用方法为rosrun+功能包+可执行文件名。 可执行文件一般由两种途径产生,一种.cpp文件经编译后生成可执行文件 (在编译的cpp文件以及可执行文件名在功能包下CMakeLists.txt文件中改 写),另一种是编写的python文件名,但注意是需要给文件添加可执行权限。roslaunch启动launch文件的命令,使用方法roslaunch +功能包名 +launch文件名;和rosrun命令的使用方法是类似_ros 屏蔽qq

linux 7.0 root密码破解_一切无常的博客-程序员宅基地

Linux7.0(1)启动电脑,按上下键进入启动菜单界面,选择第二个Red Hat Enterprise Linux Server, with Linux 0-rescue-* (2)按 'e’进入编辑模式 (3)在linux16 /vmlinuz-*这行的末尾添加“rd.break”,然后按“Ctrl+x”进入单用户模式(4)当进入用户模式后出现以下窗口,执行以下命令,(确认根目录不是只读挂载...

Idea中springboot导入依赖却没有导入jar包_idea导入springboot项目,引不到包_未几拂荆扉的博客-程序员宅基地

记录一个springboot引用依赖却没有导入jar包的问题今天进行练习,然后在pom.xml中引入了thymeleaf的依赖,然后使用controller返回页面的时候提示找不到资源然后我百度找了很多方法都是说将@RestController改成@Controller,然而我用的就是@Controller注解,如下图如果你是用的@RestController注解,将其改成@Controller应该就没问题了,如果还有问题就继续进行下面操作。我后面在External Libraries包下找了一_idea导入springboot项目,引不到包

随便推点

【题集】决策树的父节点和子节点的熵的大小关系是什么?_决策树父节点和子节点熵的大小_人工智能博士的博客-程序员宅基地

信息增益准则选择最优特征父节点的熵是经验熵H(D)子节点的熵是划分后集合的经验熵H(D)父节点的熵大于子节点的熵熵越大,不确定性越大_决策树父节点和子节点熵的大小

Android Studio类微信界面作业BLOG_yyydddsss02的博客-程序员宅基地

***标题提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录***标题前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程

spring_Aop_continue through spring_Continue_小哥的博客-程序员宅基地

一 AOP1.1 什么是AOP​ AOP 面向切面编程。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。1.2 AOP底层实现​ 实际上,AOP 的底层是通过 Spring 提供的的动态代理技术实现的。在运行期间,Spring通过动态代理技术动态的生成代理对象,代理对象方法执行时进行增强功能的介入,在去调用目标对象的方法,从而完成功能的增强。​ Spring 框架监控切入点方法的执行。一旦监控到切入点方法被运行,使_continue through spring

CentOs执行rz命令卡住-解决方法_limboWang的博客-程序员宅基地

原因是使用了宝塔,换种SSH终端即可,使用xshell,解决,可以弹出选出文件窗口了_rz命令卡住

ASP.NET学习笔记 _asp.net 学习笔记_chaohuis的博客-程序员宅基地

ASP.NET学习笔记 summer目录 一、 关于DataGrid的分页............................................................................ 4 二、 关于上传文件........................................................._asp.net 学习笔记

使用maven-shade-plugin插件解决spark依赖冲突问题_温柔狠角色的博客-程序员宅基地

依赖冲突:NoSuchMethodError,ClassNotFoundException 当用户应用于Spark本身依赖同一个库时可能会发生依赖冲突,导致程序奔溃。依赖冲突表现为在运行中出现NoSuchMethodError或者ClassNotFoundException的异常或者其他与类加载相关的JVM异常。此时,若能确定classpath中存在这个包,则错误是因为classpath

推荐文章

热门文章

相关标签