一,添加图标

你的应用在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. jquery中$().each() 和$.each()

    // 形参1: 当前的下标 // 形参2: 当前的dom节点元素 $('#div1').find('div').each(function (i, item) { // this === item 当 ...

  2. 优化版小程序canvas,增加失败逻辑,及完善文字

    wxml <view class="shareBox" style="backgound:{{isShow ? '#000' : '#fff'}}" wx ...

  3. django 中文入门文档

    django中文入门文档:阅读地址

  4. Python函数学习——匿名函数

    匿名函数 匿名函数就是不需要显式的指定函数名. 关键字lambda表示匿名函数,冒号前面的n表示函数参数,可以有多个参数. 匿名函数有个限制,就是只能有一个表达式,不用写return,返回值就是该表达 ...

  5. 【LeetCode】21.合并两个有序链表

    题目 将两个有序链表合并为一个新的有序链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1->2->4, 1->3->4 输出:1->1-> ...

  6. 21天打造分布式爬虫-Spider类爬取糗事百科(七)

    7.1.糗事百科 安装 pip install pypiwin32 pip install Twisted-18.7.0-cp36-cp36m-win_amd64.whl pip install sc ...

  7. vue脚手架构

    我们是用Eclipse开发的,所以用vue开始时,要进行代理,不然访问不到服务器,所以就需要配置一下 dev  context 里面写的是代理的接口,就是以这些接口开头的,如果没有就往里写一下,pro ...

  8. Go语言总结

  9. 通过反编译深入理解Java String及intern

    一.字符串问题 字符串在我们平时的编码工作中其实用的非常多,并且用起来也比较简单,所以很少有人对其做特别深入的研究.倒是面试或者笔试的时候,往往会涉及比较深入和难度大一点的问题.我在招聘的时候也偶尔会 ...

  10. ArrayBlockingQueue 阻塞队列 生产者 与消费者案例

    package com.originalityTest; import java.net.UnknownHostException; import java.util.ArrayList; impor ...