【读书笔记】iOS-发布你的应用
一,添加图标
你的应用在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-发布你的应用的更多相关文章
- [读书笔记]iOS 7 UI设计 对比度
好久没写随笔了,最近在读<iOS 7 byTutorials>,很不错,推荐给大家. 每一个好的程序员也都是一个设计师,不懂设计的程序员不是好的CTO.哈哈,开个小玩笑. iOS 7设计的 ...
- 读书笔记-iOS核心动画高级技巧
如果不使用+imageNamed:,那么把整张图片绘制到CGContext可能是最佳的方式了. 这里我们利用了CALayer的KVC来存储和检索任意的值,将图层和索引打标签. 使用KVC打标签
- Web高级征程:《大型网站技术架构》读书笔记系列
一.此书到底何方神圣? <大型网站技术架构:核心原理与案例分析>通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计 ...
- HDFS Federation (读书笔记)
HDFS Federation (读书笔记) HDFS的架构 HDFS包含两个层次:命名空间管理(Namespace) 和 块/存储管理(Block Storage). 命名空间管理(Namespac ...
- Android驱动开发5-8章读书笔记
Android驱动开发读书笔记 第五章 S5PV210是一款32位处理器,具有 ...
- <读书笔记>软件调试之道 :从大局看调试-理想的调试环境
声明:本文档的内容主要来源于书籍<软件调试修炼之道>作者Paul Butcher,属于读书笔记.欢迎转载! ---------------------------------------- ...
- <读书笔记>软件调试之道 :从大局看调试-零容忍策略
声明:本文档的内容主要来源于书籍<软件调试修炼之道>作者Paul Butcher,属于读书笔记.欢迎转载! ---------------------------------------- ...
- <读书笔记>软件调试之道 :从大局看调试-发现代码存在问题
声明:本文档的内容主要来源于书籍<软件调试修炼之道>作者Paul Butcher,属于读书笔记.欢迎转载! ---------------------------------------- ...
- 《C#图解教程》读书笔记之一:C#和.NET框架
本篇已收录至<C#图解教程>读书笔记目录贴,点击访问该目录可获取更多内容. 一.在.NET之前的编程世界 C#语言是在微软公司的.NET框架上开发程序而设计的,首先作者给大家纠正了一下C# ...
- 《你必须知道的.NET》读书笔记一:小OO有大智慧
此篇已收录至<你必须知道的.Net>读书笔记目录贴,点击访问该目录可以获取更多内容. 一.对象 (1)出生:系统首先会在内存中分配一定的存储空间,然后初始化其附加成员,调用构造函数执行初 ...
随机推荐
- ZKWeb网页框架1.8正式发布
1.8.0更新的内容有 破坏性更新 更新ZKWeb.System.Drawing到3.0.0 请修改源代码中的System.Drawing到System.DrawingCore 现在已经不再需要使用D ...
- 【接口时序】2、Verilog实现流水灯及与C语言的对比
一. 软件平台与硬件平台 软件平台: 1.操作系统:Windows-8.1 2.开发套件:ISE14.7 3.仿真工具:ModelSim-10.4-SE 硬件平台: 1.FPGA型号:XC6SLX45 ...
- Django _VIEW视图_源码分析
Django _VIEW视图: 1. 点击as_view方法. 第二步: as_view () 为VIEW 类里定义的,到时候我们定义业务逻辑的类就继承这个VIEW类. view方法内返回的是disp ...
- maya2016卸载/安装失败/如何彻底卸载清除干净maya2016注册表和文件的方法
maya2016提示安装未完成,某些产品无法安装该怎样解决呢?一些朋友在win7或者win10系统下安装maya2016失败提示maya2016安装未完成,某些产品无法安装,也有时候想重新安装maya ...
- JavaScript控制页码的显示与隐藏
前端页面开发分页显示功能时,一般都要求使用自定义的页码样式,直接用网上分页插件就比较麻烦了,这里记录一下工作中总结的一个比较简单通用的控制页码显示与隐藏的的js代码. 首先是使用时需要自己根据自己具体 ...
- 词向量:part 2 CBoW、Skip-Gram、Negative Sampling、Hierarchical Softmax、GloVe、fastText、doc2vec
- 在word 2010中采用EndNote X7插入引用
本文只供入门操作,记于此以防自己忘记,或帮助走过路过的你解决一时之需,即便是只能帮助到一个人,我的辛苦也就没有白费. 用EndNote向Word中直接插入参考文献能极大的提高论文写作的速度.在此以En ...
- Xamarin.Android 使用 SQLite 出现 Couldn't read row 0, col -1 from CursorWindow. 异常
异常:Java.Lang.IllegalStateException: Couldn't read row 0, col -1 from CursorWindow. Make sure the Cu ...
- 比较List和ArrayList的性能及ArrayList和LinkedList优缺点
List和ArrayList的性能比较 在使用ArrayList这样的非泛型集合的过程中,要进行装箱和拆箱操作,会有比较大的性能损失,而使用泛型集合就没有这样的问题.List是泛型,而ArrayLis ...
- 分布式协调服务ZooKeeper的典型应用
Zookeeper典型应用 参考官方文档: http://zookeeper.apache.org/doc/current/recipes.html Out of the Box Applicatio ...