避开iOS 5开发中的陷阱 选好移动开发的技术路线

2024-04-16 06:18

本文主要是介绍避开iOS 5开发中的陷阱 选好移动开发的技术路线,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

iOS 5系统升级经验分享

系统升级应对之策:稳+快

并不是所有开发者都会对系统的升级充满了期待和欣喜,尤其对于一些做外包的开发者来说,每次系统的升级都意味着很多不确定的因素,从不知名的角落里冒出来,冷不妨的跳出来给你一个“Supprise”(连这个单词都有bug了……)。iOS的升级每次都会给各个应用造成各种各样的麻烦,或者造成原有的UI变动,导致用户体验的变异。在CMDN的线下沙龙中,爱图腾科技高级架构师廉洁“献身”说法,站在手机移动外包公司的角度,经过大量实践以及每次升级的经验,总结了一些相对较有条理的应对方法:

爱图腾科技高级架构师廉洁

首先一定要关注最新资讯。多去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。

移动开发中的技术路线选择

上帝给了我们选择的权力,我们却用它来纠结。短短几年时间内,移动让整个IT圈改革了。以前PC上WIntel一统江湖的局面,在移动领域显得那么格格不入。仿佛大航海时代的开始,很多人梦想着冲向伟大航路搜索传说中的One Piece,如此多的选择,究竟要搭上哪一艘船?身为最先下水的成员之一,上海改变科技CTO李亮就他自身经历,对整个移动行业进行了分析,并从整体出发分享了开发过程中需要注意到的事项。

上海改变科技CTO李亮

李亮认为,现在的时代可以称之为一个新的移动时代,是移动互联网产业从刚开始成长到成熟的阶段,目前应该说迈入了成熟的阶段。。涌现出了很多厂商,厂商又出现了非常多的设备。Apple很简单,一个iPhone,一个iPad。而在Android的世界里,就有无数不同的厂商,产生出了不同尺寸的,甚至性能有高有第的设备。这是非常多样性的情况,系统也是一样。虽然我们今天经过一段时间的发展,可以说我们现在这个时间段已经是移动互联网这个产业从刚开始成长到成熟的阶段。最新数据显示,Android的份额达到58.67%,iPhone14%多,BlackBerry 9.2%,bada是三星的占3.33%。

对于一个平台,开发者看中他能够提供什么样的能力?首先是盈利问题,其次是用户量、生态环境包,最后是应用开发的方便性。Apple的产品一致性是最好的,整个系统的坐标体系不是整数,是浮点数。所以他可以维持整个设备的屏幕坐标的大小是一样的,同时iOS的模拟器也做的很棒,这些对开发者来说非常有利。而Android一来是开源的,二来有Google撑腰。Android的开放性,引来了非常大的厂商,三星、摩托罗拉等,然后包括一些别的二线厂商,甚至现在又非常非常多的山寨厂商也开始专项Android的系统。大量的厂商生产的大量的设备,自然而然就造成了不同规格的设备,这个对开发者其实是一个困扰。

Windows Phone 7最大的后台就是MicroSoft,不过李亮认为WP7不可能超过iOS或者Android的份额。况且Windows Phone 7作为一个开发平台,就目前来说,再开发接口上面还是缺一点东西。最近RIM有一个比较大的动作,目前主推的QNX是一个全功能的实时Unix系统。三星自家的bada,有三星的强大销售链,只要三星愿意做是不会死掉的。webOS的用户体验堪比iOS,但是现在前途未卜。

开发者对操作系统的考量主要集中在这几个方面:操作系统的能力(计算能力)、有没有多任务、是不是能够后台运行、操作系统的限制等、分辨率和键盘、云服务、平台本身的市场比例、支付方式等。技术方面需要注意的有代码重用、是否需要跨平台。

李亮认为,任何东西无论多先进多好,一统江湖的可能性是没有可能的。跨平台思潮有着悠久的历史,但是到最后,都没有成为主流。而用户体验这个东西,不能够喧宾夺主,开发者要想明白一个道理,我们的目的就是让用户更方便的使用这个程序,而不是说为了用户体验而用户体验。最后说到测试,需要对于不同的机器,在不同的网络环境下,不同的运营环境下做测试。还有一些就是在极端情况下测试也必须做得到。

这篇关于避开iOS 5开发中的陷阱 选好移动开发的技术路线的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/907995

相关文章

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

OpenHarmony鸿蒙开发( Beta5.0)无感配网详解

1、简介 无感配网是指在设备联网过程中无需输入热点相关账号信息,即可快速实现设备配网,是一种兼顾高效性、可靠性和安全性的配网方式。 2、配网原理 2.1 通信原理 手机和智能设备之间的信息传递,利用特有的NAN协议实现。利用手机和智能设备之间的WiFi 感知订阅、发布能力,实现了数字管家应用和设备之间的发现。在完成设备间的认证和响应后,即可发送相关配网数据。同时还支持与常规Sof

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

安卓链接正常显示,ios#符被转义%23导致链接访问404

原因分析: url中含有特殊字符 中文未编码 都有可能导致URL转换失败,所以需要对url编码处理  如下: guard let allowUrl = webUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {return} 后面发现当url中有#号时,会被误伤转义为%23,导致链接无法访问

金融业开源技术 术语

金融业开源技术  术语 1  范围 本文件界定了金融业开源技术的常用术语。 本文件适用于金融业中涉及开源技术的相关标准及规范性文件制定和信息沟通等活动。

Linux_kernel驱动开发11

一、改回nfs方式挂载根文件系统         在产品将要上线之前,需要制作不同类型格式的根文件系统         在产品研发阶段,我们还是需要使用nfs的方式挂载根文件系统         优点:可以直接在上位机中修改文件系统内容,延长EMMC的寿命         【1】重启上位机nfs服务         sudo service nfs-kernel-server resta

【区块链 + 人才服务】区块链集成开发平台 | FISCO BCOS应用案例

随着区块链技术的快速发展,越来越多的企业开始将其应用于实际业务中。然而,区块链技术的专业性使得其集成开发成为一项挑战。针对此,广东中创智慧科技有限公司基于国产开源联盟链 FISCO BCOS 推出了区块链集成开发平台。该平台基于区块链技术,提供一套全面的区块链开发工具和开发环境,支持开发者快速开发和部署区块链应用。此外,该平台还可以提供一套全面的区块链开发教程和文档,帮助开发者快速上手区块链开发。