iOS 6编程实战前  言_iOS 6编程实战前  言试读-查字典图书网
查字典图书网
当前位置: 查字典 > 图书网 > 编程 > iOS 6编程实战 > 前  言

iOS 6编程实战——前  言

  苹果操作系统历来都是一个面向用户的版本,一个面向开发者的版本,这样交替着发布。iOS 6更多关注用户,具有全新的地图界面和导航功能,社交网络特性更是随处可见。Pass Kit更以一种全新的方式将iPhone与日常生活联系到了一起。增强的Siri功能使iPhone 4S更具吸引力。但愿用户能快一点升级。   这都是好消息,因为iOS 6同样也令开发人员兴奋不已。很多事物变得更加简单,集合视图与自动布局可以简化UI设计,UIKit添加了对富文本的支持。当你的应用进入后台,状态保留可以更加容易记录它们的进度。很多过去复杂麻烦的东西开始变得简单了。   如果你准备好了去探索最新的苹果系统,从而把你的应用提升到新高度,那这本书就是你应该看的。 读者对象   这并不是一本入门书。其他一些书会教你Objective-C并一步步指导你学习Interface Builder,不过本书假定你已经拥有一些iOS开发经验;可能是自学的,或者上过培训班。总之,你有能力写程序,甚至已经有应用上架了。如果你打算学习更深入的内容、最佳实践,以及作者源自真实工程的开发经验,那你就找对书了。   这本书并不是示例的简单堆砌,它包含大量代码,不过主线还是围绕如何设计、编写和维护优秀的iOS应用展开。本书会让你了解为什么这么做而不只是局限于怎么做。你会学到很多关于设计模式、编写可重用代码,以及语法与新框架的知识。 本书内容   iOS平台总是向前发展,本书也一样。书中大部分示例需要至少iOS 5才能运行,有些需要iOS 6。所有的示例都启用了自动引用计数、自动属性合成和对象字面量。除了很少几处外,本书不会讨论向后兼容。如果你的代码过于庞大必须要向后兼容,你可能知道如何处理。本书主旨是通过最好的特性来创造最佳应用。   虽然本书主要针对iPhone 4、iPad 2之后的设备,但大部分内容也适用于第一代iPad、iPod touch、iPhone 3GS以及Apple TV。第16章还会专门讨论如何处理各个平台之间的差异。 新版内容   这一版涵盖了iOS 6的大部分新功能,包括集合视图和自动布局(第7章),还有一整章介绍自动引用计数。本书新增一章讲解如何将数据上传到云端,介绍了一些第三方BaaS(Backend as a Service,后端即服务)。本书还扩展了iOS相关的内容,主要涵盖改进后的LLVM编译器与调试器。为此,我们增加了第2章LLVM一节的篇幅,针对如何使用它写出下一代应用讲解了LLVM的重要特性。它还添加了一章(第19章)专门介绍LLDB调试,包括Python脚本、寄存器布局和读取寄存器等一些有助于解决调试难题的高级技巧。这一章还提到了otool、atos等可以辅助调试的命令行工具。最后,第20章展示了如何围绕CPU性能、内存占用、网络带宽以及电池使用进行优化。   即便你有本书的上一版,关于调试(第19章)、性能调优(第20章)以及集合视图和自动布局(第7章)的新内容也足够成为你买下这一版的理由了。 本书结构   iOS提供了非常丰富的工具,既有UIKit这样的高层框架,也有Core Text这样的低层框架。有时候,同一个目标可以通过多种方式来达成。作为开发人员,如何找到最正确的工具呢?   本书既考虑了日常开发需求,也考虑了特定的用途,能够帮你作出正确的选择。学完本书,你会明白每个框架存在的价值、框架之间的相互关系,以及什么时候选择哪一个。最终,你会知道哪个框架最适合解决哪一类问题。   本书分4部分,从最常用的工具一直讲到最强大的工具。这一版新增的章会在前面用“更新”字样标识出来。 第一部分:新功能   如果你对iOS 5很熟悉,这一部分可以带你快速了解iOS 6的新功能。 (更新)第1章“全新的系统”。iOS 6增加了大量新功能,在这里你将快速了解它们。 (更新)第2章“熟悉Xcode 4与LLVM编译器”。Xocde是一个庞大的IDE,很多功能并不显而易见。无论你是新手还是上一版的读者,这一章都会帮助你了解它强大(也有令人沮丧)的工具。 第二部分:熟能生巧   作为一名iOS开发人员,你应该掌握很多常用工具,比如表视图通知和动画图层。不过要想发挥它们的全部潜力,就要熟悉它们。在这一部分,我们将学到Cocoa开发的最佳实践。 第3章“Objective-C基础知识”。如果你想在Objective-C开发方面更上一层楼,这一章将引导你学习一些改善应用设计、稳定性和可重用性的常用工具。 第4章“Cocoa设计模式”。Cocoa建立于大量常用的设计模式之上。这一章会介绍相关的设计模式和苹果用它们来解决问题的思路。 (新增)第5章“通过Objective-C的ARC管理内存”。自动引用计数根本改变了iOS开发者的工作方式。大部分转换也很容易,移植代码时可能会出现一些微妙的问题。本章讨论如何避开问题和充分利用这个强大的技术。 第6章“熟练使用表视图”。表视图可能是iOS中最复杂但也最常用的UI元素了。它们的设计非常简单优雅,但不了解原理却很难用好。这一章将为你讲清楚如何正确使用它们,以及如何解决无限滚动等问题。 (新增)第7章“集合视图与自动布局”。WWDC 2012中展示的UICollectionView令世人瞩目。到目前为止,UITableView仍然垄断着iOS应用的界面。不过当开发人员慢慢习惯新控件后,这个局面很可能在iOS 6时代被改变。加上OS X中基于约束(constraint-base)的布局,实现复杂而美观的界面突然变得简单起来。这一章的内容就是这些。 第8章“绘图功能”。很多新开发者都对自定义绘图退避三舍,但它却是快速创建美观用户界面的关键。这一章将探究UIKit和Core Graphics中有关绘图的功能,告诉大家怎么才能做到既快且美。 第9章“Core Animation”。iOS设备对动画的支持是无与伦比的。借助强大的GPU和高度优化的Core Animation,你可以创建直观又吸引人的界面。在这一章中,我们会介绍一些基础知识以及动画的原理。 第10章“错误处理”。你总想写出完美的代码,不过每每又事与愿违。如何应对意外是优秀应用与一般应用的分水岭。这一章会告诉你常用的错误处理技巧、如何记录错误,以及如何让代码在出错时表现得更加灵活。 (新增)第11章“位置服务”。许多应用都需要知道用户在什么地方。iOS使一切变得简单,但也要警惕不要把电量耗尽。这一章我们讲一讲如何平衡功能与效率,同时给予用户最佳体验。 第三部分:选择工具   有些工具几乎时刻都要用,而有些工具则只有特定的时候才有用。在这一部分中,你会学到这些较为特殊的工具以及相关的技术。 (新增)第12章“表视图常用UI范例”。与集合视图一样令人欲罢不能的是表视图,它一直是iOS开发的中坚力量。这一章介绍如何使用高级表视图的无限滚动视图和其他高级主题。 (更新)第13章“多任务”。多任务是许多应用程序的重要部分,这一章将介绍如何在应用程序运行时或在后台时执行多任务。iOS 6新的状态保留系统使这一切更加容易,这一章还会介绍一些常见用例。 (更新)第14章“REST解惑”。基于REST的服务是现代应用程序的核心,这一章将教会你在iOS中最好地实现它们。 (更新)第15章“通过安全服务巩固系统安全”。用户安全和保护隐私永远是第一位的。这一章会介绍如何通过钥匙串、证书和密码保护应用和用户数据不会被盗用。 第16章“在多个苹果平台和苹果设备上运行应用”。iOS家族人丁兴旺,不仅有了iPod touch、iPhone、iPad、Apple TV,而且新机型仍会不断涌现。目前还无法一次编写随处运行。为了保证应用在任何平台上都表现卓越,本章将讨论如何基于硬件和平台调整应用。 第17章“国际化和本地化”。虽然你现在可能只想关注某个国家的市场,但让应用明天能够顺利走向世界也只需做一点点工作。本章会告诉你如何不影响当前开发,又能减少未来的麻烦和成本。 第18章“通过应用内购买提高销售业绩”。应用内购买对于很多程序员来说仍然是陌生领域。用户喜欢额外内容,而开发人员喜欢额外收入。这一章告诉你在应用中把这一功能变为现实的最佳方法。 (新增)第19章“调试”。要是每个应用第一次就能完美运行该有多好。幸运的是,Xcode和LLDB提供了很多能帮助你抓住“狡猾”bug的工具。你会学到很多高级的内容,了解实际开发中如何处理错误。 (全新)第20章“性能调优”。高性能可以让应用脱颖而出。优化CPU和内存性能非常重要,不过你也需要优化电池以及网络使用。苹果公司提供了Instruments这个强大的工具来解决这些问题。你会学到如何使用Instruments查找瓶颈,以及如何在找到问题后改善性能。 第四部分:超越极限   这一部分是全书最精彩的内容。你已经学到了基础知识,掌握了基本技能,现在该使用高级工具来超越极限了。这一部分将带你深入了解iOS。 (新增)第21章“故事板及自定义切换效果”。故事板仍然会使一些熟悉Nib文件的开发人员感到费解。你在这里将会学到如何使用故事板来提升应用。 第22章“Cocoa的大招:键值编码和观察”。苹果的许多强大框架都是依靠KVO(Key-Value Observing)来维护性能和灵活性的。你会学到如何利用灵活性和KVO的速度。 第23章“不同凡响:块和函数式编程”。许多开发人员依然对Objective-C的块感到好奇。块可以用来与苹果框架交互,不过也开启了编程新思路。接受一种新风格,并在你的下一个工程中将它的优势表现出来吧。 第24章“离线支持”。网络编程很困难,不过更难的是支持无缝离线功能。学习如何最佳地缓存数据并将其集成到你的网络引擎上是这一章的重点。 (新增)第25章“云端数据”。开发人员依然在适应新的iCloud服务。支持的话可以快速让你的应用程序引入注目。本章中你将学习这个强大的系统。 (更新)第26章“精妙的文本布局”。从UIKit到Core Text,iOS为显示文本提供了充足的功能。iOS又在UIKit中添加了富文本支持。在这一章,你会学到如何使用属性化字符串、Web视图,以及用Core Text来处理最棘手的布局问题。 第27章“创建Core Foundation应用”。说到iOS中最强大的框架,你能想到的Core框架可能会有Core Graphics、Core Animation、Core Text,但它们都是基于Core Foundation框架的。在这一章中,我们学习如何使用Core Foundation数据类型,以便充分利用iOS提供的功能。 第28章“深度解析Objective-C”。这一章致力于揭开Objective-C背后的秘密,包括如何使用Ojective-C运行时直接动态地修改类和方法、如何通过Objective-C函数调用C方法,以及如何通过系统来扩展程序。   以上各章可以跳读,除了需要Core Foundation数据对象(特别是Core Graphics、Core Animation和Core Text)的几章,其他章都是相互独立的。关于Core Foundation的内容,最终会归总到第27章“创建Core Foundation应用”。 阅读条件   本书所有示例都是用Mac OS X 10.8上的Xcode 4.5以及iOS 6开发的。你需要一个苹果开发人员账户来访问大部分工具和文档,并且需要一个开发人员许可证来运行iOS设备上的应用程序。对此,请参考http://developer.apple.com/programs/ios并注册账号。   本书中大部分示例可以在Xcode 4.5的iOS模拟器中运行。使用iOS模拟器就不需要苹果开发人员许可证了。 苹果文档   苹果公司在自己的网站上和Xcode中提供了大量文档。这些文档的URL地址变动很频繁而且非常长。本书会使用标题而不是URL来引用这些文档。如果想在Xcode中寻找文档,请按下Cmd-Option-?快捷键或点击Help->Docuentation and API Reference。在Documentation Organizer窗口中点击搜索图标,输入文档的标题,并从搜索结果中选择文档。可以参考图1中搜索Coding Guidelines for Cocoa的示例。 图1 搜索Coding Guidelines for Cocoa   如果想在苹果官方网站查找文档,可以访问http://developer.apple.com,点击Member Center,并登录。选择iOS Dev Center,并在搜索框中输入文档的标题。   在线文档与Xcode文档是相同的。你可能会接收到iOS和Mac两个平台的结果,请阅读iOS版。很多iOS文档是Mac版的副本并且偶尔会包含iOS不支持的函数调用或常量。本书会告诉你哪些功能在iOS上可用。 源代码   在学习本书示例的时候,可以手工输入代码,也可以使用本书附带的源代码文件。本书所有的源代码可以在http://iosptl.com/code或http://www.wiley.com/go/ptl/ios6programming上下载得到。[ 也可以访问图灵社区本书页面下载,地址为:http://www.ituring.com.cn/book/1053?q=ios6。——编者注]下载之后,在第26章文件夹SimpleLayout工程的CoreTextLabel.m文件中可以看到如下代码: CoreTextLabel.m(SimpleLayout) - (id)initWithFrame:(CGRect)frame { if ((self = [super initWithFrame:frame])) {     CGAffineTransform transform = CGAffineTransformMakeScale(1, -1); CGAffineTransformTranslate(transform, 0, -self.bounds.size.height); self.transform = transform; self.backgroundColor = [UIColor whiteColor]; } return self; }   本书中有些代码片段并不完整,其目的只是为了辅助上下文说明问题。要想查看完整代码,就需要参考下载到的源代码。 勘误   虽然我们已经尽了最大努力,但错误在所难免。有些是输入错误,有些可能是我们理解上有偏差,有些可能是因为内容有变化。为了确保代码与时俱进,请参考http://iosptl.com/code上的最新版本,以及博客中的相关文章。任何问题都可以发送给robnapier@gmail.com或contact@mk.sg。 致谢   在去年投入大量时间撰写针对iOS 5的本书上一版之后,今年又着手撰写针对iOS 6的这个新版本,对此Rob非常感谢自己家人的耐心。Mugunth感谢父母和朋友的支持。感谢Wiley出版社,尤是Craig Smith和Ellie Scott,在他们不懈的支持、鼓励下本书才得以问世。感谢Jay Thrash热心的技术审校,还有Tom Dinse对文字的润色。感谢WWDC的苹果工程师们容忍我们无穷无尽的疑问、追寻,还有偶尔的抱怨。特别感谢史蒂夫·乔布斯,他毕生致力于改变世界。人们不会忘记他。

展开全文


推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

《iOS 6编程实战》其他试读目录

• 前  言 [当前]
• 译 者 序
• 第1章:全新的系统
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  •