如何避开iOS 5开发中的陷阱

移动开发 iOS
首先一定要关注最新资讯。多去Apple官方网站,像iOS 5的升级,在官网提前很久就已经放出来对应的文档、新特性说明等。同时还有很多视频资源,会演示新特性对开发或者设计造成那些影响。还有各种iOS开发相关的论坛,例如CocoaChina,CSDN社区等

  

[[51868]]

 

  首先一定要关注***资讯。多去Apple官方网站,像iOS 5的升级,在官网提前很久就已经放出来对应的文档、新特性说明等。同时还有很多视频资源,会演示新特性对开发或者设计造成那些影响。还有各种iOS开发相关的论坛,例如CocoaChina,CSDN社区等。

  接下来就是对平台的动作采取快速反映,***时间提供一个版本的更新,这个非常重要,能给用户非常好的体验。但是要记住一点:一定要保证稳定性。做iOS应用就要有Apple的风范,快速反映不代表为了快而赶工,应用的稳定性是用户体验的前提。所以不要急着使用新特性,开发人员很容易陷入新特性带来的亢奋中,但是实际上从整个产品的运营来看,本着稳定压倒一切的原则,一定要慎重!

  ***是覆盖测试。测试是最有效的手段,能够发现很多问题。全功能的覆盖测试,需要在上线之前就能够去维护一套完整的测试方案。这样每次就照着这个方案走一遍,就会很方便的发现问题。另外一点,要覆盖全部的设备和全部的兼容系统。虽然理论上不同设备之间只要系统的版本一样,应该没有问题,但是实际总是和理论有所出入的。

  每次系统升级后,Apple会列出所有他认为重要的东西,开发者可以比照着然后一条一条的查漏补缺。同时也应该关注一些其他网站、论坛上,很可能会得到启发和预警。之前说的其实是一个比较通用的一个大的方面的一个概括。

  iOS新特性介绍

  iCloud Storage对于开发者的意义:所有iOS设备上的文件都能够通过Apple提供的iCloud Storage上传。iCloud Storage上线之后,对本地存储会有一些强制性的要求。什么样的数据可以上传?首先是用户生成的数据,或者是不可被重新生成的可以上传,剩下的部分要放到Cache里。按照Apple的Guideline的说法,这类数据是自动的会被备份iCloud Storage上,就要求开发者尽量的为用户节省空间和流量。

  慎用ARC,一把双刃剑:ARC是将之前手动Release的东西在编译期间自动化,和手动编译是一样的。据Apple的宣传来讲,ARC在Release、Return管理的效率上,有很大性能的提升。ARC极大的降低了iOS开发门槛,却也带来了一些负面效果。它和Java的垃圾回收机制不同,是攒到一定的程度再去释放。由此必然导致一些垃圾回收不及时,或者在释放的时候对性能造成影响。

  廉洁认为目前上线的大部分应用内存管理比较完善,因此不会对产品有明显影响。ARC对从C或者C++过来的东西识别上有一些困难,他对这些的应用有一些特殊的声明。如果应用里用了很多第三方的类库全部转成ARC,是需要一些勇气的。转完之后可能大家心里都没底,会不会造成什么问题,还需要详细、全面的测试。所以新员工谨慎用,维护期的线上的应用尽量用,新应用倒是可以用

  Newsstand介绍:Newsstand只是给新闻类的应用提供了一个聚集的场所。它的好处包括:可以提供个性化的封面,每期一个封面,大小可以自己设定。Apple提供了几种标准,包括杂志的样式或者新闻的样式。另外杂志类的应用经常要求大量的数据的下载,Newsstand提供了在后台下载和推送机制,避免用户在打开应用之后,应用开始下载杂志内容,导致可能出现的人身伤害事故。

  一些其他的新特性:Storyboards对开发者来讲很有吸引力,同样对已经在线上的应用慎用。而对Coreimage来说,Apple提供了大量的图象处理的API,真正做起来,门槛有点高,好多图象的算法学识很难。像Location Simulation目的在于解决开发者在开发基于地理位置应用时候实地测试的困难。但是其实不是特别的灵活,仅能够一定程度上提供这种模拟。Instumnets,提供了大量性能分析工具。OpenGL ES为测试和debug都提供了更好的环境。

  iOS升级的各种问题以及解决之道

  iOS 4中Category这个方式非常流行,而在iOS 5中就不用了。UINavigationBar实际上提供了一个更好的修改背景的方法。为了iOS 4和iOS 5的兼容,首先保留Category,这个在iOS 4里面没有问题;如果在iOS 5上出现问题,可以去提供系统修改的背景的方。第二个可能比较重要的一个变化。

  还有一个就是比较头疼的玩意儿了。在iOS 5的键盘高度不是固定的,例如微博类的应用,输入法会直接把输入框盖住。Apple还提供了几个事件,***通过去注册一些事件,在他的Userinfo里面会直接看到。包括取一个Frame或者什么东西,取到的东西是一个velue的一个值,他不是一个值,他会封装成ISVELUE。基本上通过这几个,就能够处理现有的这些键盘上的一些变化。

  iOS 5中建议放弃UDID,以后可能会被取消掉。Apple提供了一些替代的方法,比如可以创建自己的UDID,之后可以存到这个NEWUSERDEFAULT里面。这样做虽然不是一个唯一的UDID,但基本上不影响统计分析使用的。

  在ReleaseNote里面写的很清楚,隐藏一个header现在直接返回没有用。UIPICKERVIEW,就是在***次选择的时候,会调用一些程序里面主动设计他选择的一个方法。现在iOS 5中不会触发,需要大家做一些针对性的处理。在iOS 5里面大家需要主动的设计papovercontroller。

  via CMDN Club

责任编辑:佚名 来源: Tech2IPO
相关推荐

2011-11-30 17:26:31

移动开发

2009-07-29 17:40:56

ibmdwAIX

2020-11-24 08:00:00

开发低代码设计

2017-01-23 08:41:43

云计算

2019-09-23 21:10:21

2023-11-07 22:19:46

数字业务首席信息官

2016-12-26 15:14:48

2021-03-16 07:48:20

老人用机安全陷阱移动互联

2020-11-04 15:38:04

数字化CIOGartner

2013-05-31 02:25:47

WebWeb设计响应式

2023-03-02 14:32:21

CIO数字化转型

2019-08-21 19:49:21

机器学习人工智能

2017-12-25 11:24:57

程序员代码编程

2019-02-25 23:02:16

数据科学职业数据科学家

2013-07-15 09:24:27

云计算安全控制用户数据

2013-07-01 10:13:36

安全控制云供应商留客陷阱

2021-09-07 14:35:48

DevSecOps开源项目

2013-10-17 09:24:16

云通信服务IP语音电话统一通信服务

2012-04-16 17:15:12

iOS 5定制用户界面

2015-03-18 09:29:12

iOS开发争议
点赞
收藏

51CTO技术栈公众号