编辑本段Objective-C
Objective-C是iOS的开发语言。Objective-c是c的升级版。 对初学者来说,Objective-C存在了很多令人费解的写法,实际上他们是非常优雅的。 程序员写的最多的就是函数以及调用自己写的或者别人写的函数。本文就从函数的角度来看下Objective-C的优雅之处。 C#和Objective-C同属于c系列语言。让我们先看下C#的函数定义和调用,做个对比。 C#函数的定义: public void doIt(string actorName, string movieName, int timesSeen) { Console.Write("{0} is my favorite actor in the movie {1}, I saw it {2} times.", actorName, movieName, timesSeen); } 函数的调用: Class1 objMovie = new Class1(); objMovie.doIt("莱昂纳多·迪卡普里奥", "盗梦空间", 120); 在让.net程序员看下Objective-C的定义: - (void) doIt:(NSString *) actorName movieName: (NSString*) value timesSeen: (int)times { NSLog(@"%@ is my favorite actor in the movie %@, I saw it %i times.",actorName, value, times); } 如果你第一次看Objective-C,肯定会琢磨不透上面的代码,怀疑是不是写错了。 对于上面这个函数的定义: 1、'-'表示这个函数是实例函数(类似非静态函数),'+'表示这个函数是类函数(类似静态函数) 2、(void)表示这个函数没有返回值。 3、函数名是'doIt:',而不是'doIt' 4、参数用空格隔开 5、参数类型写在括号中 6、参数分内部参数和外部参数,如电影名称,内部参数是:value,外部参数是:movieName 7、函数的一个参数没有外部参数的名称,有内部参数名。如:actorName。 调用: [objMovie doIt:@"莱昂纳多·迪卡普里奥" movieName:@"盗梦空间" timesSeen:120] 从上面代码可以看出除了第一个参数,其余的参数都可以加上外部参数名称用于区别。 从上面可以看出Objective-C和C#区别很大,实在会令.net程序员费解。Objective-C函数设计的优雅之处在于即有内部参数名又有外部参数名,可以不用在再内部定义变量来存放函数的参数。 [1]编辑本段Apple 的 iOS
系统结构 iOS的系统结构分为以下四个层次:核心操作系统(the Core OS layer),核心服务层(the Core Services layer),媒体层(the Media layer),Cocoa 触摸框架层(the Cocoa Touch layer)。编辑本段发展历史
iOS最早于2007年1月9日的苹果 Macworld展览会上公布,随后于同年的6月发布的第一版iOS操作系统,当初的名称为“iPhone 运行 OS X”。最初,由于没有人了解“iPhone 运行 OS X”的潜在价值和发展前景,导致没有一家 软件公司、没有一个软件 开发者给“iPhone 运行 OS X”开发软件或者提供软件支持。于是,苹果公司时任CEO斯蒂夫.乔布斯说服各大软件公司以及开发者可以先搭建低成本的网络应用程序(WEB APP)来使得它们能像iPhone的本地化程序一样来测试“iPhone runs OS X”平台。 2007年10月17日,苹果公司发布了第一个本地化IPhone应用程序开发包( SDK),并且计划在2月发送到每个开发者以及开发商手中。 2008年3月6日,苹果发布了第一个测试版开发包,并且将“iPhone runs OS X”改名为”iPhone OS“。 2008年9月,苹果公司将 iPod touch的系统也换成了” iPhone OS“。 2010年2月27日,苹果公司发布iPad,iPad同样搭载了”iPhone OS”。这年,苹果公司重新设计了“iPhone OS”的系统结构和自带程序。 2010年6月,苹果公司将“iPhone OS”改名为“iOS”,同时还获得了 思科iOS的名称授权。 2010年第四季度,苹果公司的iOS占据了全球 智能手机操作系统26%的市场份额。 2011年10月4日,苹果公司宣布iOS平台的 应用程序已经突破50万个。 2012年2月,应用总量达到552,247个,其中游戏 应用最多,达到95,324个,比重为17.26%;书籍类以60,604个排在第二,比重为10.97%;娱乐应用排在第三,总量为56,998个,比重为10.32%。 2012年6月,苹果公司在WWDC 2012 上宣布了 iOS 6,提供了超过 200 项新功能。编辑本段最新 iOS 操作系统版本
iOS 6 拥有更完善的文本输入法,并内置了对热门中文互联网服务的支持, 从而让 iPad、iPhone 和 iPod touch 更适合中文用户使用。有了全新的中文词典和更完善的文本输入法,汉字输入变得更轻松、更快速、更准确。你可以混合输入全拼和简拼,甚至不用切换键盘就能在拼音句子中输入英文单词。iOS 6 支持 30,000 多个汉字,手写识别支持的汉字数量增加到两倍多。当你向个人字典添加单词时, iCloud 能让它们出现在你所有设备上。百度已成为 Safari 的内置选项,你还可将视频直接分享到优酷和土豆网。也能从相机、照片、地图、Safari 和 Game Center 向新浪微博发布信息。 从地面,从天空看世界,现在你都可以。以全新角度呈现的地图,将改变你看世界的方式。地图元素基于矢量,即使你放大,再放大画面,图形和文字仍然是可圈可点的细节。平移操作也相当顺畅。你可以用倾斜和旋转的角度查看一个区域,那些街道和地点的名字不会因此错位。你甚至可以从城市上空掠过,以令人惊叹的高分辨率画质将景致尽收眼底。 Siri 能让你通过语音来发送信息、预约会议、拨打电话,还可帮你做更多。你可用自己习惯的谈话方式,让 Siri 去处理各种事项。Siri 能听懂你的话,了解你的意图,还能回答你的问话。在 iOS 6 里,Siri 的见识大大增长。想知道你喜爱的球队和队员的最新比分和统计数据?尽管开口问 Siri 就好。或许你晚上想看场电影,Siri 就能为你显示最新的影评和预告片。你还可让 SIri 按菜肴、价格、位置或更多方式帮你查找餐厅。Siri 甚至能为你打开 app,你不必轻点屏幕,只要说一声“启用 Flight Tracker”或“打开鳄鱼小顽皮爱洗澡”,Siri 就会按你说的做。Siri 是如此易用与能干,你将发现更多的方式去使用它。 现在,你能与你选择的人,分享你想分享的照片。只需从照片 app 中选择照片,再轻点分享按钮,选择你想分享照片的对象,照片就发送出去了。在 iOS 6 设备或运行 Mountain Lion 的 Mac 上使用 iCloud 的朋友,可立即在照片 app 或 iPhoto 中收到照片。你还能在 Apple TV 上浏览分享照片流。如果你的亲友没有 Apple 设备,也照样能在网上浏览你的照片。大家还可以称赞或评论每张照片。你能尽情分享照片,因为你的分享照片流不会占用 iCloud 存储空间,它们是通过 WLAN 和蜂窝数据传送的。 你的登机牌、电影票、购物优惠券、会员卡及更多票券,现都归整一处。有了 Passbook,你可用 iPhone 或 iPod touch 扫描来办理登机手续,进入影院看电影,并兑换优惠券。你还能看到优惠券何时到期,音乐会的座席位置,以及那张重要的咖啡馆充值卡余额。你的 iPhone 或 iPod touch 一旦被唤醒,各式票券就会在适当的时间和地点出现在锁屏上,比如你到达机场时,或走进商店兑换礼品卡或优惠券时。如果登机口在办理登记手续后有所变化,Passbook 还能提醒你,避免你找错登机口。 FaceTime 现可通过蜂窝数据网络和 WLAN 运行,无论你在哪里,都可以拨打和接收 FaceTime 视频电话。你甚至可以使用电话号码在 iPad 上拨打和接收 FaceTime 视频电话。这意味着你无论身处何地,只要携带任一设备,就不会错过每一个笑脸、眼神或飞吻。 iOS 6 为你的 iPhone 增添了全新呼叫功能。现在,当你拒绝来电时,可以立即通过文本信息进行回复,或设置回拨提醒。如果事务太过繁忙,可启用勿扰模式,你就不会被任何人打扰,除了你不愿错过的联系人,比如你的老板或另一半。 iOS 6 里的 Mail 经过重新设计后,界面更加简洁流畅,让阅读和编写邮件更轻松。你可设置自己的 VIP 名单,这样就不会错过来自客户、老板或挚友的重要信息。为电子邮件添加照片和视频也更容易。若要刷新你的邮箱,只需向下轻扫即可。 iOS 6 为你的 iPhone、iPad 和 iPod touch 带来更佳的网络浏览体验。iCloud 标签可记录你在设备上打开的页面,因此你可以先在一部设备上开始浏览,稍后再使用手边的任何一部设备,从上次暂停的地方继续浏览。Safari 现可在阅读列表中保存网页,而不仅是链接,因此即使你没有互联网连接,也能继续阅读网页。当你向 eBay 或 Craigslist 等网站发布照片或视频时,不用退出 Safari 即可拍照或摄录,也可从相机胶卷中选择照片。如果你很想看到整个画面,将 iPhone 或 iPod touch 转为横向模式,并轻点全屏图标,即可全无干扰地查看网页。 iOS 6 拥有更多功能,让视力、听力、学习以及肢体活动方面有障碍的用户也能享用 iOS 设备的精彩。引导式访问功能可帮助残障学生 (如自闭症患者) 将注意力集中在任务和内容上。它能让父母、教师或管理员通过禁用主屏幕按键,使 iOS 设备只显示一个 app,也可限制屏幕某一特定区域上的触控输入。VoiceOver 是为失明和低视力用户提供的创新性屏幕阅读功能,它现与地图、AssistiveTouch 和缩放功能相互整合。Apple 还与一些优秀的制造商联手推出为 iPhone 打造的助听设备,带来高效率、高品质的数字音频体验。 这种事确实会发生。你遗失了 iPhone 或 iPad 或 iPod touch。幸运的是,iOS 6 和 iCloud 现提供“丢失”模式,让你更轻松地使用“查找我的 iPhone ”来定位并保护丢失的设备。立即使用 4 位密码锁定你丢失的 iPhone,并发送信息在屏幕上显示联系电话。这样,好心人就能在锁屏模式下给你打电话,而不会访问你的 iPhone 上的其他信息。在“丢失”模式期间,你的设备将追踪记录它所到过的地点,你可随时使用“查找我的 iPhone” app 登录,即可查看设备发回的信息。 “查找我的朋友”是与亲朋好友分享位置信息的绝佳方式。与你共享位置信息的人会出现在地图上,这样你就可以迅速看到他们在哪里,在做什么。有了 iOS 6,你可以收到基于位置的提醒,比如当你的孩子放学或回到家时。“查找我的朋友”也可将你的位置信息告知他人,让你能与他们保持联络,或了解亲朋好友的行踪。 iOS 6 将全新购物体验融入重新设计的 iTunes Store、App Store 和 iBookstore。在每个商店主页上方可以查看最新精选 app 和书籍。用手指轻扫即可浏览,轻点可以了解详细信息。通过 iCloud,你的预览历史记录会在你所有的设备上保持更新。因此,你可以在 iPhone 上开始购物,然后在 iPad 上继续。现在,你不必退出使用中的 app,即可购买你喜爱的 app。 [3] 据国外媒体报道,移动应用推荐平台App Brain和Appsfire日前分别整理出了Android和iOS应用名称中出现频率最高的词汇并进行了排名。如果Android手机用户在Google Play 键入“wallpaper”进行搜索的话,就会发现有海量的搜索结果。 之所以会这样是因为wallpaper现在已经成为Android应用名称的第一高频词。事实上,根据App Brain网站评出的Android高频词排行榜显示,有多达2万9千多个Android应用的名字中包含“wallpaper”一词。在 Appsfire网站对iOS系统出现频率最高的词汇进行排行之后,App Brain也决定对Android系统出现的高频词汇进行了排行。版本历史
版本 | 固件编号 | 发布日期 |
1.X | ||
1.0 | 1A543a | 2007年06月29日 |
1.0.1 | 1C25 | 2007年07月31日 |
1.0.2 | 1C28 | 2007年08月21日 |
1.1 | 3A100a 3A101a | 2007年09月14日 |
1.1.1 | 3A109a 3A110a | 2007年09月27日 |
1.1.2 | 3B48b | 2007年11月12日 |
1.1.3 | 4A93 | 2008年01月15日 |
1.1.4 | 4A102 | 2008年02月26日 |
1.1.5 | 4B1 | 2008年07月15日 |
2.X | ||
2.0 | 5A347 | 2008年07月11日 |
2.0.1 | 5B108 | 2008年08月04日 |
2.0.2 | 5C1 | 2008年08月18日 |
2.1 | 5F136 5F137 9M2517 | 2008年09月09日 |
2.1.1 | 5F138 | 2008年09月09日 |
2.2 | 5G77 5G77a | 2008年11月21日 |
2.2.1 | 5H11 5H11a 9M2621a | 2009年02月27日 |
3.X | ||
3.0 | 7A341 | 2009年06月17日 |
3.0.1 | 7A400 | 2009年07月31日 |
3.1 | 7C144 7C145 | 2009年09月09日 |
3.1.2 | 7D11 | 2009年10月08日 |
3.1.3 | 7E18 | 2010年02月02日 |
3.2 | 7B367 | 2010年01月27日 |
3.2.1 | 7B405 | 2010年07月15日 |
3.2.2 | 7B500 | 2010年08月11日 |
4.X | ||
4.0 | 8A293 | 2010年06月21日 |
4.0.1 | 8A306 | 2010年07月16日 |
4.0.2 | 8A400 | 2010年08月12日 |
4.1 | 8B117 | 2010年09月18日 |
4.2 | 8C134 8C134b | N/A (被iOS 4.2.1代替) |
4.2.1 | 8C148a | 2010年11月23日 |
4.2.5 | 8E128 | 2011年02月07日 |
4.2.6 | 8E200 | 2011年02月10日 |
4.2.7 | 8E303 | 2011年04月14日 |
4.2.8 | 8E401 | 2011年05月04日 |
4.2.9 | 8E501 | 2011年07月16日 |
4.2.10 | 8E600 | 2011年07月26日 |
4.3 | 8F190 | 2011年03月10日 |
4.3.1 | 8G4 | 2011年03月25日 |
4.3.2 | 8H7 | 2011年04月15日 |
4.3.3 | 8J2 | 2011年05月04日 |
4.3.4 | 8K2 | 2011年07月16日 |
4.3.5 | 8L1 | 2011年07月26日 |
5.X | ||
5.0 | 9A334 | 2011年10月13日 |
4s | 2011年10月5日 | |
5.0.1 | 9A405 | 2011年11月11日 |
5.0.1(iPhone4S用户独有版本) | 9A406 | 2011年12月16日 |
5.1 | 9B176 | 2012年3月8日 |
5.1.1 | 9B206 | 2012年5月8日 |
5.1.1r1(iPhone4 GSM用户独有版本) | 9B208 | 2012年5月25日 |
6.X | ||
6.0 beta(1-4) | 开发者版本,大约每两周更新 | 2012年6月-2012年9月 |
6.0(所有iPhone3GS/4/4s与iPad2/3版本) | 10A403[4] | 2012年9月19日 |
6.0(iPhone5) | 10A405[4-5] | 2012年9月19日 |
用户界面
iOS的用户界面的概念基础上是能够使用 多点触控直接操作。控制方法包括 滑动,轻触开关及按键。与系统交互包括滑动(Wiping),轻按(Tapping),挤压(Pinching)及旋转(Reverse pinching)。此外,通过其内置的加速器,可以令其旋转设备改变其y轴以令屏幕改变方向,这样的设计令iPhone更便于使用。屏幕的下方有一个主屏幕案件,底部则是 Dock ,有四个用户最经常使用的程序的图标被固定在 Dock 上。屏幕上方有一个状态栏能显示一些有关数据,如时间﹑电池电量和信号强度等。其余的屏幕用于显示当前的应用程序。启动iPhone应用程序的唯一方法就是在当前屏幕上点击该程序的图标,退出程序则是按下屏幕下方的 Home (iPad 可使用五指捏合手势回到主屏幕)键。在 第三方软件退出后,它直接就被关闭了,但在 iOS 及后续版本中,当第三方软件收到了新的信息时,Apple 的服务器将把这些通知推送至 iPhone、iPad 或 iPod Touch上(不管它是否正在运行中),在 iOS 5 中,通知中心将这些通知汇总在一起。iOS 6 提供了 “请勿打扰” 模式来隐藏通知。在iPhone 上,许多应用程序之间无法直接调用对方的资源。然而,不同的应用程序仍能通过特定方式分享同一个信息(如当你收到了包括一个电话号码的短信息时,你可以选择是将这个电话号码存为联络人或是直接选择这个号码打一通电话)。支持软件
iOS 4.1发布会
自带应用程序
在 iOS 5 中,主接口包括以下自带的应用程序: 信息、日历、照片、 YouTube、股市、地图(AGPS辅助的 Google地图)、天气、时间、计算机、备忘录、系统设置、 iTunes(将会被链接到iTunes Music Store和iTunes广播目录)、 App Store、 Game Center以及联络信息。还有四个位于最下方的常用应用程序包括有:电话、 Mail、 Safari和 iPod。(iPhone4S内置Siri) 除了电话、短信, iPod Touch保留了大部分 iPhone自带的应用程序。 iPhone上的"iPod"程序在iPod Touch上被分成了两个:音乐和视频。位于主界面最下方dock上的应用程序也根据iPod Touch的主要功能而改成了:音乐、视频、照片、iTunes、Game Center,第四代的iPod Touch更加有了相机和摄像功能! iPad只保留部分iPhone自带的应用程序: 日历、通讯录、备忘录、视频、YouTube、iTunes Store、App Store以及设置;四个位于最下方的常用应用程序是:Safari、Mail、照片和iPod不支持的软件
从 iOS 1.0 版本开始,非法的第三方软件就可以在iPhone上运行了。然而这些软件面临着被任何一次iOS更新而被完全破坏 ,虽然苹果也曾经说明过它不会为了破坏这些第三方软件而专门设计一个系统升级。 这些 第三方软件发布的方法是通过Cydia utilities,这两个程序会在iPhone越狱之后被安装到iPhone上。可使用的设备
iOS系统已经随着每一台iPhone、iPod Touch、iPod nano、iPad、Apple TV等设备出厂时就已经安装。 [6-7]编辑本段相关资料
软件开发工具包
内容 2007年10月17日, 史蒂夫·乔布斯在一封张贴于苹果公司网页上的公开信上宣布 软件开发工具包。它将在2008年2月提供给第三方开发商。软件开发工具包于 2008年 3月6日发布,并允许开发人员开发iPhone和iPod touch的应用程序,并对其进行测试,名为“ iPhone手机模拟器” 。然而,只有在付出了iPhone手机开发计划的费用后,应用程序才能发布。自从 Xcode3.1 发布以后, Xcode就成为了iPhone软件开发工具包的开发环境。 历史 第一个 Beta版本是iPhone SDK 1.2b1(build 5A147p)它在发布后立即就能够使用了,但是同时推出的App Store所需要的固件更新则直到2008年7月11日才发布。对于iPhone用户,这个更新是免费的;然而,iPod touch的用户则需要为更新付出9.99美元。发布日期 | 版本编号 | 更改 |
2008年3月27日 | 2.0b2 Beta 2 |
首发,发布iOS 2.0b2 (build 5A225c) |
2008年4月8日 | 2.0b3 Beta 3 |
发布iOS 2.0b3 (build 5A240d) |
2008年4月23日 | 2.0b4 Beta 4 |
发布iOS 2.0b4 (build 5A258f) |
2008年5月6日 | 2.0b5 Beta 5 |
发布iOS 2.0b5 (build 5A274d) |
2008年5月29日 | 2.0b6 Beta 6 |
发布iOS 2.0b6 (build 5A292g) |
2008年6月19日 | 2.0b7 Beta 7 |
发布iOS 2.0b7 (build 5A331) |
2008年6月26日 | 2.0b8 Beta 8 |
发布iOS 2.0b8 (build 5A345) |
2008年7月24日 | 2.1 Beta 1 |
发布iOS 2.1 (build 5F90) |
2008年7月30日 | 2.1 Beta 2 |
发布iOS 2.1 |
2008年8月8日 | 2.1 Beta 3 |
发布iOS 2.1 |
2008年9月25日 | 2.2 Beta 1 |
发布iOS 2.2 (Build 5G29) |
2008年11月20日 | 2.2 | 发布iOS 2.2 (build 9M2621) |
2009年1月27日 | 2.2.1 | 发布iOS 2.2.1 (build 9M2621a) |
2009年3月17日 | 3.0 Beta 1 |
发布iOS 3.0的预览版及SDK 3.0的测试版 |
2009年3月31日 | 3.0 Beta 2 |
发布iOS 3.0的预览版 |
2009年4月14日 | 3.0 Beta 3 |
发布iOS 3.0的预览版 |
2009年4月28日 | 3.0 Beta 4 |
发布iOS 3.0的预览版 |
2009年5月6日 | 3.0 Golden Master Seed |
iOS 3.0的最终版(只给开发商和私人测试) |
2009年6月17日 | 3.0 Final |
iOS 3.0的最终版(公开版) |
2009年7月31日 | 3.0.1 | 修复SMS漏洞 |
2009年6月30日 | 3.1 Beta 1 |
发布iOS 3.1的预览版 |
2009年7月15日 | 3.1 Beta 2 |
发布iOS 3.1的预览版 |
2009年7月28日 | 3.1 Beta 3 |
发布iOS 3.1的预览版 |
2009年9月9日 | 3.1 Final |
发布iOS 3.1的最终版(公开版) |
2010年3月10日 | 3.2 Beta 4 |
发布iOS 3.2的的预览版 |
2010年3月17日 | 3.2 Beta 5 |
发布iOS 3.2的的预览版 |
2010年6月21日 | 4.0 Final |
发布iOS 4.0的最终版(公开版) |
2010年9月10日 | 4.1 Final |
发布iOS 4.0的第一次重大升级:iOS4.1 |
2010年11月1日 | 4.2 Final |
发布iOS 4.0的第二次重大升级:iOS4.2 |
2011年3月10日 | 4.3 Final |
发布iOS 4.0的第三次重大升级:iOS4.3 |
2011年6月6日 | 5.0 Beta 1 |
发布iOS 5.0的预览版及SDK 5.0的测试版 |
2011年10月13日 | 5.0 Final |
发布iOS 5.0的最终版(公开版) |
2011年12月1日 | 5.1 Beta 1 |
发布iOS 5.1的预览版 |
2012年3月8日 | 5.1 Final |
发布iOS 5.1的最终版 |
2012年6月6日 | iOS 6 Preview | 发布iOS6预览版 |
2012年9月20日 | iOS 6 | 发布iOS6正式版 |