`

iOS开发学习笔记(一)转载

 
阅读更多

--转载http://www.cnblogs.com/zhuqil/archive/2012/05/24/2517176.html

 

不见得进培训机构就是能学出来的,不见得交了钱就一定学出来,不过就看你本人有没有自制能力了。
iOS的应用软件是Android的1.4倍,而系统开发者却是Android的0.38倍,由此可见iOS行业的人才缺口是相当大的。也正因为如此,市场对于Objective-C和C++开发者的需求极为迫切,使得这两个职业在就业趋势上呈相当利好的状态,最终促使iOS行业大步跨入了朝阳行业。在现下这种供不应求的市场环境中,也促使iOS人才的薪资的上涨幅度要远高于Android。

未来的10年是移动互联网的时代,这个结论已经成为业界的共识。
1:部署iOS应用是企业战略必选项
2:大型企业的介入会加剧iOS人才的匮乏
3:iOS领域拒绝代码工人,所谓的高手不仅精通技术,还要了解用户,了解市场,了解设计,iOS领域偏向复合型人才和创新型人才

 

一、必要条件

1、一台运行Snow Leopard(os x 10.6.5或者更高版本)的基于Intel的Macintosh计算机。

2、注册成为iOS开发人员,下载iOS SDK。

3、下载XCode集成开发环境。

二、开发者选择:

1、免费的SDK包含一个模拟器,它支持在mac上创建和运行iPhone和iPad程序。但是模拟器不支持依赖硬件的某些特性,如iPhone的加速计或者摄像头,也不支持将应用程序安装到实际的iPhone或其他设备上。开发的应用也不能发布到appstore上。如果要实现这些功能,需要注册另外两个收费的选项。

2、标准方案是99美元一年。提供了大量的开发工具、资源和技术支持,支持在appstore上发布应用。最重要的是支持在iOS上而不是模拟器上调试和测试代码。

3、企业方案是299美元一年。面向开发专用的、内部的iOS应用程序的企业。

三、编写iOS程序用何不同:

1、只有一个应用程序正在运行

在iOS上,特定时间段内仅激活一个应用程序并在屏幕上显示。从iOS 4开始,当用户按下home按钮后应用程序有时可能继续在后台运行,但是这种情况也只限于特定的场合。
当应用程序未激活或未运行于后台时,它不会引起CPU任何形式的注意,这将导致网络连接断开以及其他问题。iOS 4在后台处理能力方面已经有了大幅提升,但要使你的应用程序在这种情况下仍运行良好,还需要你自身的努力。

2、只有一个窗口

在桌面及笔记本电脑操作系统中,多个程序可以同时运行,并且可以分别创建和控制多个窗口。而iOS则有所不同,它只允许应用程序操作一个“窗口”。应用程序与用户的所有交互都在这个窗口中完成,而且这个窗口的大小就是iOS屏幕的大小,是固定的。

3、受限访问

计算机上的程序可以访问其用户能够访问的任何内容,而iOS则严格限制了应用程序的访问权限。
你只能在iOS为应用程序创建的文件系统中读写文件。此区域称为应用程序的沙盒,应用程序在其中存储文档、首选项等需要存储的各种数据。
应用程序还存在其他方面的限制。举例来说,你不能访问iOS上端口号较小的网络端口,也不能执行台式计算机中需要有根用户或管理员权限才能执行的操作。

4、有限的响应时间

由于使用方式特殊,iOS及其应用程序需要具备较快的响应时间。启动应用程序时,需要先打开它,载入首选项和数据,并尽快在屏幕上显示主视图,这一切要在几秒之内完成。
只要应用程序在运行,就可以从其下方拖出一个菜单条。如果用户按home按钮,iOS就会返回主页,用户需要快速保存一切内容并退出。如果未在5秒之内保存并放弃控制,则应用程序进程将终止,无论用户是否已经完成保存。

请注意,在iOS 4中,这种情况因为一种新API的存在而有所改善。这种API允许你的应用程序在终止前申请多一些的时间来处理。

5、有限的屏幕大小

iPhone的屏幕显示效果非常出色,从推出到现在,它一直是消费设备中分辨率最高的屏幕。

但是,iPhone的显示屏幕并不大,你施展的空间要比现代计算机小很多,最新的Retina显示器(iPhone 4和第4代iPod touch)仅有640×960像素,更老的仅有320×480像素。

而且,现在的尺寸与以前相同,只不过Retina显示屏为640×960像素,所以不要以为可以放更多的控件或什么了——仅仅是分辨率比以前高了。

iPad稍大一些,是1024×768像素,但也不算很大。与此形成鲜明对比的是,在撰写本书时,苹果公司最便宜的iMac支持1920×1080像素,最便宜的笔记本电脑MacBook支持1280×800像素。而苹果公司最大的显示器,27英寸的LED Cinema Display,支持超大的2560×1440像素。

6、有限的系统资源

阅读本书的任何资深程序员可能都会对256 MB内存、8 GB存储空间的机器嗤之以鼻,因为其资源实在是非常有限,但这种机器却是真实存在的。或许,开发iOS应用程序与在内存为48 KB的机器上编写复杂的电子表格应用程序不属于同一级别,二者之间没有可比性,但由于iOS的图形属性和它的功能,其内存不足是非常容易出现的。

目前上市的iOS的物理内存要么是256 MB,要么是512 MB,当然今后内存还会不断增长。内存的一部分用于屏幕缓冲和其他一些系统进程。通常,不到一半(也可能更少)的内存将留给应用程序使用。

虽然这些内存对于这样的小型计算机可能已经足够了,但谈到iOS的内存时还有另一个因素需要考虑:现代计算机操作系统,如Mac OS X,会将一部分未使用的内存块写到磁盘的交换文件中。这样,当应用程序请求的内存超过计算机实际可用的内存时,它仍然可以运行。但是,iOS并不会将易失性内存(如应用程序数据)写到交换文件中。因此,应用程序可用的内存量将受到手机中未使用的物理内存量的限制。

Cocoa Touch提供了一种内置机制,可以将内存不足的情况通知给应用程序。出现这种情况时,应用程序必须释放不需要的内存,甚至可能被强制退出。

7、不支持垃圾收集

之前已经说过,Cocoa Touch使用的是Objective-C 2.0,但该语言中的一个关键特性在iOS中并不可用:Cocoa Touch不支持垃圾收集。

8、新功能

前面提过,Cocoa Touch缺少Cocoa的一些功能,但iOS SDK中也有一些新功能是Cocoa所没有的,或者至少不是在任何Mac上都可用的。

  • iPhone SDK为应用程序提供了一种定位方法,即用Core Location确定手机的当前地理坐标。
  • 大部分iOS还提供了一个内置的照相机和照片库,并且SDK允许应用程序访问这两者。
  • iOS还提供了一个内置的加速计(在最新的iPhone、iPod touch中有陀螺仪),用于检测机子的握持和移动方式。

9、与众不同的方法

iOS没有键盘和鼠标,这意味着在编程时它与用户的交互方式和通用的计算机截然不同。所幸的是,大多数交互都不需要你来处理。例如,如果在应用程序中添加一个文本字段,则iOS知道在用户单击该字段时调用键盘,你不需要编写任何额外的代码。

说明 目前的设备支持通过蓝牙连接外部键盘,这提供了一种不错的键盘体验并节省了一定的屏幕空间,但这种使用情形仍然非常少。连接鼠标仍然完全行不通。

作者:朱祁林 出处:http://zhuqil.cnblogs.com 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
分享到:
评论

相关推荐

    ios开发学习笔记(三)

    在“ios开发学习笔记(三)”中,博主可能还会讨论调试技巧,如使用Xcode的调试器,理解断点、变量观察以及性能分析工具。此外,可能会涉及多线程编程,如GCD(Grand Central Dispatch)和OperationQueue,以及内存...

    ios安全学习笔记

    iOS安全学习笔记的知识点涵盖了多个方面,从学习资料的搜集到优秀博客文章和GitHub资源的整理,这为iOS安全研究者提供了一个丰富的资源库。以下是对上述内容中提及知识点的详细说明: 1. iOS安全学习资料汇总 首先...

    学习ios学习笔记

    在讨论iOS学习笔记之前,首先应当明确iOS开发的核心要素。iOS是苹果公司为其移动设备设计的操作系统,与之对应的开发语言主要是Objective-C以及近年来流行的Swift。Objective-C是一种成熟稳定的语言,它以C语言为...

    iOS 开发流程个人学习笔记

    这份个人学习笔记将深入探讨iOS开发的核心概念、工具、流程以及最佳实践。 首先,我们要了解iOS开发的基础——Swift编程语言。Swift是Apple在2014年推出的一种现代、安全、强大的编程语言,用于构建iOS、iPadOS、...

    iOS开发教程(大神原创笔记)副本.pdf

    ### iOS开发教程(大神原创笔记)副本.pdf #### 核心知识点概览 本教程主要围绕iOS开发的基础知识和技术要点展开,旨在帮助初学者快速掌握iOS应用开发的基本流程和核心概念。以下是从该文档标题、描述及部分内容中...

    ios蓝牙开发笔记

    这篇笔记将深入探讨iOS蓝牙开发的关键知识点。 首先,我们需要了解BLE的核心概念。蓝牙低功耗技术主要用于设备间的短距离通信,特别适用于那些需要长时间运行但电量有限的设备,如健康监测器、智能手表等。BLE设计...

    IOS开发 初级笔记

    ### IOS开发初级笔记知识点 #### 一、解决“Error launching remote program: No such file or directory”问题 ...希望每位iOS开发者都能够通过不断学习和实践,成为一名出色的移动应用开发者。

    高仿微信,iOS应用开发模板.zip ios 开发模板

    高仿微信,iOS应用开发模板.zip ios 开发模板。高仿微信,iOS应用开发模板.zip ios 开发模板。高仿微信,iOS应用开发模板.zip ios 开发模板。高仿微信,iOS应用开发模板.zip ios 开发模板。高仿微信,iOS应用开发...

    学习ios(必看经典)牛人40天精通iOS开发的学习方法

    这是一套从一个对iOS开发感兴趣的学员到iOS...通过本系列课程的学习,希望使一个对iOS开发感兴趣,想从事iOS开发的学员,成为一名真正iOS开发人员,iOS从业者,iOS技术大牛,最重要的是学会解决开发中遇到困难的方法。

    iOS开发笔记(适用小白)

    iOS开发一年的工作笔记,初级知识,适合开发时查阅,方便,详细

    最好的ios开发书籍

    总的来说,《最好的iOS 5开发新手教程》是一本全面覆盖iOS开发基础的书籍,无论是对Swift语法的解析,还是对UIKit和相关服务的介绍,都为初学者提供了一个良好的学习路径。通过系统阅读并实践书中的内容,开发者可以...

    苹果iOS开发工作笔记(从事iOS开发一年所总结的常用知识点)

    综上所述,文档为iOS开发者提供了一系列的实用知识点和示例代码,覆盖了iOS开发过程中的诸多重要方面,从UI设计到图形处理,再到状态控制,为开发者提供了系统性的学习资源。同时,由于文档中可能包含了一些OCR识别...

    iOS开发进阶篇-成为一个iOS开发高手

    总的来说,"iOS开发进阶篇-成为一个iOS开发高手"涵盖了从语言特性的深度挖掘,到应用架构设计、系统服务的利用,再到性能优化和新技术的应用,是一份全面且深入的学习资源。通过系统学习并实践其中的知识,开发者...

    iOS开发进阶-唐巧.pdf

    第一部分介绍iOS 开发的常用工具,第二部分介绍iOS开发中的一些常见的实践经验,第三部分介绍iOS 开发中涉及的原理。 如果把成为iOS 开发高手的过程比作武侠小说中的修炼过程的话,工具、实践和理论的学习就分别对应...

    精通IOS开发 第7版 归档文件

    《精通iOS开发 第7版》是一本深入探讨iOS应用程序开发的专业书籍,其归档文件包含了丰富的源代码和资源文件,旨在帮助开发者深入了解并熟练掌握iOS平台的开发技术。这一版本聚焦于最新的iOS版本,提供了全面的更新和...

    iOS开发进阶-完整版

    根据提供的信息,我们可以推断出这是一本关于iOS开发进阶的书籍,作者为唐巧。...无论是对于想要深入了解iOS开发细节的专业人士还是对于希望通过系统学习进入该领域的初学者来说,都是一本非常有价值的参考书籍。

    《iOS开发零基础入门教程》(40集)

    资源名称:《iOS开发零基础入门教程》(40集)资源目录:【】传智播客《iOS开发零基础入门教程》1.1【】传智播客《iOS开发零基础入门教程》1.2【】传智播客《iOS开发零基础入门教程》1.3【】传智播客《iOS开发零基础...

    IOS开发指南(第5版) pdf下载地址

    《iOS开发指南(第5版)》是一本深入探讨iOS应用程序开发的专业书籍,旨在帮助开发者从零基础到熟练掌握Apple的移动操作系统上的应用构建过程。该书第五版更新了最新的开发技术和工具,确保读者能够使用最新的Xcode和...

Global site tag (gtag.js) - Google Analytics