一,添加图标

你的应用在iPhone主屏幕上的标准图标(Icon.png)是57像素*57像素的正方形,PNG格式,不能有透明效果或者图层,72DPI.除些之外,你还可以提供一个同样格式的114像素*114像素的高分辨率图标(Icon@2x.png).当用户的设备是Retina屏幕的时候,这个图标就会派上用场了。如果你是iPad开发应用,则主屏幕图标(Icon~ipad.png)的大小应该是72像素*72像素。如果你正在开发的是需要在iPhone和iPad上都能运行的通用型程序,那么上面提到的三种大小的图标你都需要提供。

一般情况上,应用中的每个图片资源都要准备两个大小不同的版本:一个标准分辨率的图片和一个高分辨率的图片,高分辨率的图盘点表和于在Retina屏幕上显示。

这两个图片有一定的命名规则:标准分辨率的图片的名称是:“<文件><设备描述符>.<后缀>",高分辨率图片的名称是:"<文件>@2x<设备描述符>.<后缀>.

图片名称中的<文件>和<后缀名>两部分即通常意义上的文件名称和后缀名。<设备描述符>可有可无,如果有的话,必须是"~ipad"或者"\~iphone".如果你希望你的应用在iPhone上和iPad上分别使用不同版本的图片的话,可以用这个设备描述符来指定。

二,添加启动图片

给你的应用添加一个启动图片是iOS设备为你准备的”小伎俩"之一。当应用启动时,会首先显示启动图片给用户,一直到应用启动完成真正的UI界面才显示出来。也就是说,系统在加载应用的过程中会显示应用的启动图片,避免了在加载时显示空白的屏幕给用户。

大多数启动图片都是很简单的,这没有关系,因为启动图片只是为了告诉用户你的应用启动非常快。如果你把启动图片当作启动页面使用,会给用户造成你打断了他们的感觉,他们会抱怨为什么你要浪费他们的时间给他们看一个毫无意义的界面,而不是立即就启动应用。如果你正确的使用了启动图片,用户会感觉到你在尽快启动你的应用,尽了最大的努力去给用户最好的体验。

三,编译与签名

不同的描述文件用于不同的目的,Ad Hoc发布的描述文件用于Alpha和Beta测试,而App Store发布的描述文件则用于将你的应用最终版本发布到iTunes App Store中。

Ad Hoc方式生成的版本用于将你的应用发布到你的开发环境之外,可以发布给你的Beta测试者或者是企业内部使用。和我们之前为开发而注册的iOS设备一样,你需要注册所有那些要运行你应用的Ad hoc版本的设备。在iOS Provisioning Portal中你每年最多可以注册100台设备,这是一个硬性的规定,如果超出了100个,即使删除那些已注册过的设备你也不能再注册新的设备了。

四,提交到App Store

SKU是一个只包含字母和数字的标识符,用于唯一确定你的应用。需要注意的是,SKU以后将不能更改,即使是上传了应用的新的二进制包(或者版本),从理论上来讲你可以选择任何字符串,不过,最好能很好地描述你的应用并且和具体版本无关。

1,版本号,值必须是1.0或者以上,向App Store提交小于1.0的版本同样是审核团队拒绝你的应用的理由之一。

2,如果你的应用使用了第三方在线服务,必须有账号才能使用所有的功能,你必须在这里提供一个测试用的用户名和密码。否则,审核团队同样会拒绝你的应用。

3,你需要为你的应用上传一个512*512像素的图标,以便于在iTunes上显示,还要至少上wfnyg张应用截图。在App Store中展示。

五,审核被拒的原因。

1,审核团队会拒绝那些版本号小于1.0的,或者是标记为“Beta","Alpha"的应用。

2,应用的57像素*57像素的图标必须和512像素*512像素的图标完全一样。另外如果你计划发布一个免费的”Lite"版本和收费的“Pro"版本,那么这两个应用的图标必须不一样。

3,在你的应用里面使用苹果的图片资源,比如图标,iOS设备的图片等,都会是审核不通过的一个理由。

4,发布到App Store的应用都不允许动态连接私有的或者第三方库,否则非常容易导致苹果拒绝你的应用。不过,使用静态链接库在目前还是一个灰色地带,一般情况下都 没问题。

5,另一个拒绝你的原因是你的应用和系统内置应用的功能重复,对网页浏览器进行扩展的应用常常受到这样的指责。其他类似的例子是电子邮件客户端和音乐播放器类的应用。

6,如果你的应用使用了表格视图,但是表格视图编辑模式下对单元格进行操作的方法不符合规范,苹果也会拒绝你的应用。比如,选中单元格进行了操作之后无法取消选择。

7,没有对网络状态进行检测或者不能正确处理无法连接网络的情景(并通知用户)是另一个常见的拒绝理由。

8,如果你的应用需要大量的网络传输,你要保证这些传输不通过移动蜂窝网络进行。如果你的应用会通过移动蜂窝网络进行大量的网络传输,审核团队也会拒绝你的应用。如果你的应用的确会那样做,你应该在设备切换到蜂窝移动网络的时候 禁止或者限制数据传输。

9,在用户点击不同用途的文本输入框时,你的应用应该弹出相应的键盘。弹出了不对应的键盘往往也是审核团队拒绝你的应用的一个原因。

10,苹果会从你指定的最小版本到当前最新版本的iOS系统上逐一测试你的应用。如果审核团队发现你的应用中哪怕只有部分功能在某些版本上不能正常工作,他们通常都会拒绝你的应用。不幸的是,他们几乎从来不告诉你是在iOS的哪个版本上出现的问题。这有可能导致一个悲剧,那就是如果你不是在审核团队发现问题的那个iOS版本上测试,你就重视不了他们发现的问题。

参考资料《iOS编程指南》

 

【读书笔记】iOS-发布你的应用的更多相关文章

  1. [读书笔记]iOS 7 UI设计 对比度

    好久没写随笔了,最近在读<iOS 7 byTutorials>,很不错,推荐给大家. 每一个好的程序员也都是一个设计师,不懂设计的程序员不是好的CTO.哈哈,开个小玩笑. iOS 7设计的 ...

  2. 读书笔记-iOS核心动画高级技巧

    如果不使用+imageNamed:,那么把整张图片绘制到CGContext可能是最佳的方式了. 这里我们利用了CALayer的KVC来存储和检索任意的值,将图层和索引打标签. 使用KVC打标签

  3. Web高级征程:《大型网站技术架构》读书笔记系列

    一.此书到底何方神圣? <大型网站技术架构:核心原理与案例分析>通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计 ...

  4. HDFS Federation (读书笔记)

    HDFS Federation (读书笔记) HDFS的架构 HDFS包含两个层次:命名空间管理(Namespace) 和 块/存储管理(Block Storage). 命名空间管理(Namespac ...

  5. Android驱动开发5-8章读书笔记

    Android驱动开发读书笔记                                                              第五章 S5PV210是一款32位处理器,具有 ...

  6. <读书笔记>软件调试之道 :从大局看调试-理想的调试环境

    声明:本文档的内容主要来源于书籍<软件调试修炼之道>作者Paul Butcher,属于读书笔记.欢迎转载! ---------------------------------------- ...

  7. <读书笔记>软件调试之道 :从大局看调试-零容忍策略

    声明:本文档的内容主要来源于书籍<软件调试修炼之道>作者Paul Butcher,属于读书笔记.欢迎转载! ---------------------------------------- ...

  8. <读书笔记>软件调试之道 :从大局看调试-发现代码存在问题

    声明:本文档的内容主要来源于书籍<软件调试修炼之道>作者Paul Butcher,属于读书笔记.欢迎转载! ---------------------------------------- ...

  9. 《C#图解教程》读书笔记之一:C#和.NET框架

    本篇已收录至<C#图解教程>读书笔记目录贴,点击访问该目录可获取更多内容. 一.在.NET之前的编程世界 C#语言是在微软公司的.NET框架上开发程序而设计的,首先作者给大家纠正了一下C# ...

  10. 《你必须知道的.NET》读书笔记一:小OO有大智慧

    此篇已收录至<你必须知道的.Net>读书笔记目录贴,点击访问该目录可以获取更多内容. 一.对象  (1)出生:系统首先会在内存中分配一定的存储空间,然后初始化其附加成员,调用构造函数执行初 ...

随机推荐

  1. java之vector详细介绍

    1 vector介绍 Vector简介 Vector 是矢量队列,它是JDK1.0版本添加的类.继承于AbstractList,实现了List, RandomAccess, Cloneable这些接口 ...

  2. H5拖动火狐自动打开新标签

    写在前面的话:<H5拖动火狐自动打开新标签>原因是为什么百度很多了我就不细说,本文章只说我自己的解决方法... 自定义数据里写个链接,如果火狐自动打开就跳到这个链接 这个页面就写一句话:关 ...

  3. 机器学习与Tensorflow(7)——tf.train.Saver()、inception-v3的应用

    1. tf.train.Saver() tf.train.Saver()是一个类,提供了变量.模型(也称图Graph)的保存和恢复模型方法. TensorFlow是通过构造Graph的方式进行深度学习 ...

  4. 使用okHttp3 的坑!!

    1.使用同步阻塞调用: 需要自己创建线程,否则会报主线程使用网络的error: 2.使用非阻塞异步调用: 1.返回的Response,response.body().string()获取json只能读 ...

  5. 获取 BaiduMapSDKDemo SHA1 签名

    用 Android Studio 1.5 运行 BaiduMapsApiASDemo 时,显示 key 验证出错. 原因在于用 keytool -list -keystore debug.keysto ...

  6. LeetCode刷题指南(字符串)

    作者:CYC2018 文章链接:https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/Leetcode+%E9%A2%98%E8%A7% ...

  7. 从零开始学 Web 之 CSS(二)文本、标签、特性

    大家好,这里是「 Daotin的梦呓 」从零开始学 Web 系列教程.此文首发于「 Daotin的梦呓 」公众号,欢迎大家订阅关注.在这里我会从 Web 前端零基础开始,一步步学习 Web 相关的知识 ...

  8. Zabbix4.2.0使用Python连接企业微信报警

    目录 1. 配置企业微信 2. 脚本配置 2.1 安装python依赖的库 2.2 编写脚本 2. 搭建FTP 3. 配置Zabbix监控FTP 3.1 添加FTP模板 3.2 添加报警媒介 3.3 ...

  9. Docker导入、导出、删除容器

    1.导出某个容器导出某个容器,非常简单,使用docker export命令,语法:docker export $container_id > 容器快照名导出后在本地可以看到有一个centos.t ...

  10. Log4j 随笔

    对于一个Java开发者而言,Log4j是我们的好朋友了.话说到这里,需要自我检讨一下,这么久以来,凡是用到Log4j的地方,相关的配置文件都是直接拷贝过去,从来都没仔细看过.But thanks Go ...