推荐书

标题: 《iOS开发完全上手》——使用iOS 7和Xcode 5开发移动与平板应用 [打印本页]

作者: mghouai    时间: 2014-8-15 09:20
标题: 《iOS开发完全上手》——使用iOS 7和Xcode 5开发移动与平板应用

内容简介

一下介绍比较详细,也只有很专业的人士才可以看的懂。对ios开发感兴趣的朋友,推荐书小编给你推荐这本《iOS开发完全上手》。
对于ios 7开发新手来说,《ios开发完全上手——使用ios 7和xcode 5开发移动与平板应用》是完美起步。通过学习本书,可为ios开发奠定坚实基础,书中涵盖对objective-c语言的介绍、xcode开发工具、用户界面开发的最佳实践,以及针对应用开发和部署等各个方面的最佳实践。
  在整本书中,你将随着创建和扩展一个简易的代客泊车应用程序来探索ios开发过程。这个动手实践项目帮助你尽快创建有意义的代码,建立自信并掌握知识。带注释的代码清单使用的都是最新的ios技术,使你为进入激动人心的开发领域做好充分准备。


作译者
Maurice Sharp是一位开发老手,拥有21年在大公司(苹果公司和Palm公司)和小公司培训、开展和管理移动开发的经验。日常工作之外,他为新成立的移动项目做咨询,并运营自己的咨询公司KLM Apps。
Erica Sadun是一位畅销书作者,曾编著、合著、参与贡献出版了几十本有关移动开发和相关主题的书籍,包括广受欢迎的The Core iOS 6 Developer's Cookbook、iOS Auto Layout Demystifi ed、iOS Drawing:Pratical UIKit Solutions 以及Talking to Siri 。她还在(The Unoffi cial Apple Weblog)TUAW.com上写博客。
Rod Strougo是一位作家、讲师和开发人员,他花了15年时间为IBM和AT&T编写企业软件。目前,Rod追随自己对游戏开发和教学的热情,在bignerdranch公司(www.bignerdranch.com)担任iOS培训师。

前言  “移动互联网是未来”是近来越来越常听到的短语。提到移动互联网时,没有什么设备比得过苹果公司的用户友好性更好。
  若你想要将iOS开发作为自己的技能集合的技能之一,需要从何处开始呢?需要以及选择哪些资源呢?这取决于你的学习方式。本书涵盖的为实际操作的内容,目的是让你尽可能快地操作。首先以小事情起步,然后会基于你已知的内容,进一步积累知识。
  结果就形成了这样一本书,它用一种易于消化的格式向你传授编写应用程序所需的技能。你可以按照自己喜欢的速度来学习,快慢都行。当正在创建应用程序时,可以回头翻阅本书的特定部分,温习相关知识。
  那么,请找个舒适的位置,将Mac和iOS设备放置身旁,开始深入钻研!
  本书学习前提
  在进一步学习iOS开发之前,你需要:
  一台Mac电脑——运行当前或上一版本Mac OS操作系统的现代Mac电脑——当本书写作时,最新的版本是Mac OX Mountain Lion (v.10.8),Mavericks即将推出(本书未采用)。Mountain Lion之前的版本是Mac OS X Lion (v.10.7)。最理想情况是,你的Mac电脑使用最新版本的OS,拥有至少8GB的RAM,以及大量磁盘空间。
  一台iOS设备——尽管Xcode包含能用于开发应用程序的桌面模拟器,但你仍需要在实际设备上运行应用程序以确保它能正确运行。使用目标客户可能使用的设备型号,有助于确保应用程序能够在这些设备上良好地运行。
  确保Internet连入——下载与开发相关的资源。某些时候,可能还需要测试应用程序的无线功能。而且当然,你会想要向App Store提交你的应用。
  熟悉Objective-C——你需要使用Objective-C来创建面向iOS的本地应用程序。Objective-C语言基于ANSI C,带有面向对象的扩展,这意味着你还需要了解一些C语言的知识。如果曾使用Java或C++语言进行编程,并且熟悉C语言,你会发现使用Objective-C非常简单。在第2章“Objective-C新手训练营”中,对Objective-C语言进行了简短介绍,但更清晰的理解会有助于你更快地学习。
  你还需要Xcode,这是开发工具,以及苹果开发者账号,这会在第1章“初识iOS SDK”中介绍。
  iOS开发路线图
  一本书并不能满足每个人的所有需求。尽管我们可以尝试,但是如果我们将你所需了解的所有知识都打包到这本书中,你也不可能全部掌握。确实,针对Mac和iOS平台进行开发需要你了解很多知识。如果刚刚起步,并且没有任何编程经验,你的第一步行动应是选修一门大学级别的C语言编程课程。
  在了解C语言以及如何使用编译器(在基本的C语言课程中会学到)后,接下来的部分应该很简单。基于这些,你可以立即开展对Objective-C的学习,并且探索如何使用它并依靠Cocoa框架来编程。图P-1所示的流程图展示了Pearson Education出版的一些关键书目,能向你提供成为熟练iOS开发者所需的训练。
  图P-1  iOS开发路线图
  在了解C语言之后,学习Objective-C语言编程有多个途径。如果想获得对这门语言的深入理解,可以阅读苹果公司的文档,或者挑选以下书籍中的一本:
  Objective-C Programming: The Big Nerd Ranch Guide by Aaron Hillegass (Big Nerd Ranch, 2012)
  Learning Objective-C: A Hands-on Guide to Objective-C for Mac and iOS Developers by Robert Clair (Addison-Wesley, 2011)
  Programming in Objective-C 2.0, fourth edition,by Stephen Kochan (Addison-Wesley, 2012)
  有这门语言作为后盾,接下来就是学习Cocoa和开发者工具,也被称作Xcode。对于这些知识,你有若干不同的选择。你又一次可以参考关于Cocoa和Xcode的苹果公司提供的文档。请参阅Cocoa Fundamentals Guide(http://developer.apple.com/mac/l ... n/Cocoa/Conceptual/ CocoaFundamentals/CocoaFundamentals.pdf),初步学习Cocoa。对于Xcode,参见A Tour of Xcode (http://developer.apple.com/mac/l ... nceptual/A_Tour_of_ Xcode/ A_Tour_of_Xcode.pdf)。如果更喜欢书籍,也可以向最牛的人学习。Aaron Hillegass,亚特兰大州的Big Nerd Ranch(www.bignerdranch.com)的创始人,是Objective-C Programming: The Big Nerd Ranch Guide一书第2版的合著者,也是很快要出第4版的Cocoa Programming for Mac OS一书的作者。Aaron所著的书在Mac开发者圈子评价很高,并且是你在cocoa-dev邮件列表中可以看到的推荐书目。至于Xcode的更多知识,在学完Sams Publishing出版,由Firiz Anderson所著的Xcode 4 Unleashed后,你就已经学得足够深入了。
.  注意:
  市面上有很多其他出版商出版的其他书籍,包括最畅销的Beginning iPhone 4 Development,该书由Dave Mark、Jack Nutting和Jeff LaMarche所著(Apress,2011)。如果完全是编程新手,另外一本值得挑选的书是Beginning Mac Programming,由Tim Isted所著(Pragmatic Programmers, 2011)。不要将自己限制于一本书或一家出版商。正如你通过与不同的开发者交谈可以学到很多东西,你可以从市场上别的书籍中学到很多技巧和窍门。
  要想真正掌握iOS开发,你需要查看很多信息来源:书籍、博客、邮件列表、苹果公司的文档,以及所有这些当中最好的一种——会议。如果得到了参加WWDC(苹果公司的Worldwide Developer Conference,世界开发者大会)的机会,你会了解我们所说的是什么。你在会议上与别的开发者交谈所花费的时间,以及在WWDC的案例中与苹果工程师交流的时间,是特别值得的,如果你是个认真的开发者的话。
  本书组织结构
  这本书的目标是使你能够针对iOS手持设备和平板设备创建iOS应用程序。它假定你熟悉Objective-C语言但是对iOS开发一无所知(尽管第2章有新手训练营,但是你会发现,如果对这门语言更加熟悉的话,从这本书中学习知识会更加轻松)。每一章会介绍一些新概念,并且如果合适的话,这些概念会基于你在前面章节所学的知识。
  大多数章节除了它们的核心内容之外还涵盖了额外的材料。额外的材料未必适合特定章节的要点,但是创建应用程序时很重要。额外的材料向你展示如何使用特定的UI元素,提供一些技巧与窍门,解释代码实践,并且提供其他的有用信息。
  以下是每一章的摘要:
  第1章,“初识iOS SDK”——了解创建iOS应用程序时所用的工具、程序以及设备。你首先要安装Xcode,并且还要了解苹果开发者计划以及如何报名。最后两节在你设计应用程序时有用。其中第一节涵盖了手持设备的限制在各种各样的iOS技术中的体现,而最后一节介绍了型号之间的差异。
  第2章,“Objective-C新手训练营”——Xcode项目是包含应用程序的代码、资源和元信息的容器。在这一章,你将创建第一个项目。你还会得到对Objective-C—应用程序开发所用的语言——的一次快速复习。
  第3章,“故事板介绍”——应用程序的用户能够看到的只有界面。你可能用不可思议的代码来实现应用程序的行为,但是用户只能看到效果。在这一章,你要使用故事板,一种一次性看到应用程序的所有屏幕的方式,并开始创建应用程序界面。你要添加屏幕,并将它们连接到一起,并与代码连接起来。你从这一章得到的这些技巧是创建iOS应用程序的核心部分。
  第4章,“自动布局”——迄今为止,iOS手持设备有两种不同的屏幕尺寸,并且对于每种屏幕尺寸有两种不同的屏幕方向。支持4种不同的屏幕会很有挑战性。在这一章,你将学习并使用自动布局——苹果公司的基于约束的布局引擎,以更简单地支持多种屏幕尺寸。你甚至在屏幕旋转时使用它来修改布局。
  第5章,“本地化”——iOS设备至少在155个国家有售。当学习这一章时,你将创建一个支持三种语言以及很多国家的应用程序。你将基于第4章构建应用程序,使用自动布局来为不同的本地化字符长度调整界面元素。你还要实现特定于语言和国家的日期与时间格式,还有从左向右和从右向左的书写方向。
  第6章,“滚动”——在典型情况下,你想要显示的信息可能会超过手持设备的屏幕大小。有时,最好的导航方式是在内容中滚动。从最简单的用例开始,你使用自带的滚动视图UI元素,从简单地让屏幕弹跳,直到在多个元素中滚动。你可以添加拖动和缩放功能,并且基于滚动位置显示元素编号。
  第7章,“导航控制器I:层次结构和标签”——导航复杂信息可能非常有挑战性,特别是在手机的相对较小的屏幕上。iOS提供了导航控制器来简化这种工作。首先使用UINavigationController在信息层次结构中移动,然后使用更加先进的特性来提供进一步的定制。下一步,使用标签栏在不同类型的信息之间移动,并且学习如何操作故事版外的视图控制器。
  第8章,“表视图I:基础知识”——表视图是iPhone和iPad应用程序的重要部分。在学习它们如何工作之后,你将创建汽车表格,然后实现元素的添加和删除操作。你再深入一点,使用表格的一个变种来处理汽车详细信息。做这件事时,你使用选择器视图来表示日期,使用协议在场景之间传递数据和状态。
  第9章,“Core Data介绍”——Core Data实现了只需要做很少的工作即可使用完整的数据管理功能。在这一章,你将为应用程序创建Core Data模型,并且使用这些数据来表示汽车列表和汽车详细信息。下一步,使用自带的对象进一步简化管理表视图的工作。你还会学习将已有项目改为使用Core Data的办法,并且你会更加熟悉常见的错误。
  第10章,“表视图II:高级话题”——表视图有一些高级特性可以让应用程序锦上添花。在这一章中,你会实现不同的特性,包括自定义表单元、表格段、排序、内容索引以及搜索。你还将学习UISegmentedControl,调试的更多相关知识,以及使用#define的更好方法。
  第11章,“导航控制器II:拆分视图和iPad”——iPad应用程序通常需要与iPhone应用程序不同的设计方式。在本章,你将创建一个通用的应用程序,即在iPhone和iPad上都能运行的应用程序。你将使用iPad专用的UISplitViewController构建单独的界面。你将学习如何将iPhone视图适配到iPad,以及如何选择何时使用它们,何时创建新的东西。此外,你将实现单例,一种特殊的只能有一个实例的对象,你还将学习访问器方法的用处,并且实现自定义转场动画。
  第12章,“触摸基础”——用户所做的几乎所有事情都涉及一根或多根手指的手势。一些特性,如按钮,很容易添加触摸功能。其他控件需要更多工作。在这一章,你将学习手势识别器的基础知识,并且为汽车详情视图添加轻扫手势。然后你将更加深入,创建自定义的手势识别器。最后,你将添加一个可拖曳视图。
  第13章,“Block介绍”——从为视图添加动画到错误响应器,代码块是使用系统调用的一种重要工具。你将学习如何创建和使用代码块,以及用它们为视图增加脉动。你还会学习变量的作用域、只读变量与可修改变量。最后,你将用代码块代替协议。
  第14章,“Instruments和调试”——应用程序开发中有两个定律:最初的实现很少能像你所预期的那样执行,并且总是会有bug。在这一章中,首先使用测量仪器修复性能问题,测量仪器是一种检查性能、内存占用,以及应用程序中其他重要部分的工具。下一步,你将学习调试器中断点的一些高级特性。然后,你将同时使用这两种工具来解决最困难类型的bug。在这一章中,你还会学到一种发现和修复问题的过程,以及使用后台任务的一种方式。
  第15章,“部署应用程序”——在最后一章,你会将应用程序从你的机器搬到App Store。首先,你将创建所需的任意一种开发者证书,以及应用程序安全证书。你将添加图标和启动画面,然后学到对应用程序有用的额外功能,例如数据记录和bug报告,还有一些主要供应商。在简要地了解营销之后,你将使App Store准备好接受应用程序,构建并上传。本章以汇总继续创建给力iOS应用程序所需的资源来结尾。
  关于示例代码
  在学习本书的过程中,你将开发并改进代客泊车应用程序CarValet。CarValet应用程序被用作对你所学概念的实际实现。它并不是一个向大众发布的应用程序,尽管它可以作为这样一个应用程序的基础。
  任一涉及创建代码的章节通常至少包含两个项目:一个包含本书之前章节代码的起始项目,以及一个包含在这一章中所做修改的完结项目。对于本书大部分内容,你可以使用自己的某一章的完整项目作为下一章的起点。有一些地方不是这样的,在这些章节中会作出解释。
  除了最后的版本,示例代码项目使用相同的唯一包标识符:com.mauricesharp.CarValet。于是,你无法在虚拟机中或设备上同时安装多个版本的应用程序。如果想安装多个版本,只需将唯一的字符串添加到标识符的后边即可,例如com.mauricesharp.CarValet.CH05.portait。你将在第15章了解包标识符的重要性。
  你所写的所有代码和所学的概念适用于iOS 7或更新的系统版本。在iOS 7可用的第一天末尾,超过35%的现存设备已经在使用,这是有史以来最快的采用速度。这个份额只会增加。iOS的采用速度通常很快,一般会在几个月之内达到80%或更高。
  获得示例代码
  所有示例代码都放到了GitHub上,网址为https://github.com/mauricesharp/Learning- iOS-Development。这些代码按章节组织,大多数文件夹包含起点项目和完结项目。某些文件夹还包括中间步骤的项目,另一些项目还包含新的资源文件,比如图片。例如,以下是第6章的文件夹:
  CH06 CarValet Starter——第5章的完结项目,不包含第6章的任何修改。可使用这个项目,也可以使用自己第5章的末尾项目,作为第6章添加代码的起点。
  CH06 CarValet Finished——包含第6章所有改动的项目。可使用这个项目作为应做修改的参考,或者作为下一章的起点。
  CH06 Assets CarImages——一个额外的文件夹,包含本章中所做修改用到的图片资源。
  这些代码会按需更新。如果看到有些地方需要修改,有遗漏,甚至是实现某些功能的更好办法,尽管……
  贡献!
  示例代码从来都不是固定的目标,而是随着苹果公司更新SDK以及Cocoa Touch库而演变。参与进来吧。你可通过建议bug修复与更正来作贡献,也可扩充所提供的代码。GitHub允许你对仓库打分支,用你自己的调整和特性来扩展代码,并且可以在GitHub上使用Pull Request来将这些修改分享回主仓库。如果想到新的点子或方法,请告诉我们。我们乐于采纳对于示例代码仓库或本书下一版本的好建议。
  获取git
  可以使用git版本控制系统来下载本书源代码。git的OS X实现版本位于http://code.google.com/ p/git-osx-installer。OS X git实现同时包含命令行和GUI解决方案,可以四处搜寻最适合开发需要的版本。
  还有些第三方的git工具——有些免费,有些收费。以下两个最流行:
  SourceTree:一个免费的git hub客户端工具,网址为www.sourcetree app.com。
  Tower:一个付费的带有华丽UI的客户端,网址为www.git-tower.com。
  访问GitHub
  GitHub(http://github.com)是最大的git托管网站,包含超过150 000个公开仓库。它既提供免费的公开项目托管服务,又为私有项目提供付费托管选项。拥有可定制的网页界面,包含wiki托管和问题跟踪功能,并且着重于项目开发者的社交网络,是寻找新代码以及合作开发现存代码库的好去处。可以在http://github.com上注册免费账户。当这样做时,可以复制并修改此书的源代码仓库,或者创建自己的开源iOS项目并与他人分享。
  联系作者
  如果有关于本书的任何评论、问题或建议,请发Email给我,邮箱地址为learningios@ mauricesharp.com。
  本书使用iOS 7和Xcode的开发者预览版本编写而成。一些不同版本也被用到,但大多数是使用DP(Developer Preview,开发者预览版) 4。本书大部分内容都使用DP 6——正式版本发布之前的最后一个预览版本——进行了检验,但是一些早期代码仍然存在,特别是在CarValet示例代码中。请检查勘误表中的更新。
  现在阅读这些页面、写代码,并且完成挑战题。最后,你将懂得如何为手持设备与平板设备创建iOS应用程序。

目录
《ios开发完全上手——使用ios 7和xcode 5开发移动与平板应用》
第1章  初识ios sdk        1
1.1  安装xcode        1
1.2  关于ios sdk        2
1.2.1  免费获取的开发者计划        3
1.2.2  ios开发者计划标准版(个人和公司)        4
1.2.3  企业开发者计划        4
1.2.4  大学开发者计划        5
1.2.5  注册        5
1.2.6  itunes u和在线课程        5
1.2.7  ios sdk工具        5
1.3  测试应用程序:模拟器和设备        7
1.3.1  模拟器的局限        8
1.3.2  接线        9
1.3.3  对ios设备的考量        10
1.4  理解设备型号间的差异        14
1.4.1  屏幕尺寸        14
1.4.2  摄像头        14
1.4.3  音频        15
1.4.4  电话通信        15
1.4.5  core location和core motion之间的差异        15
1.4.6  摇晃支持和接近        16
1.4.7  处理器速度        16
1.4.8  opengl es        17
1.4.9  ios        17
1.5  小结        18
第2章  objective-c新手训练营        19
2.1  使用模板创建hello world应用程序        19
2.1.1  创建hello world项目        19
2.1.2  xcode项目界面快速导航        23
2.1.3  添加hello world标签        24
2.2  objective-c新兵训练营        26
2.2.1  objective-c编程语言        27
2.2.2  类和对象        30
2.3  carvalet应用程序:实现car类        35
2.3.1  实现car方法        39
2.3.2  属性        43
2.3.3  创建并打印car对象        45
2.4  属性:另外两个特性        46
2.5  子类化和继承:挑战一下        49
2.6  小结        52
2.7  挑战题        53
第3章  故事板介绍        55
3.1  故事板的基础知识        55
3.2  场景1:构建“add/view”场景        57
3.2.1  在“add/view”场景中添加可视化元素        57
3.2.2  添加“add/view”初始化行为                61
3.2.3  加入显示汽车行为        69
3.2.4  添加previous和next汽车按钮        72
3.3  场景2:添加一个编辑器        75
3.3.1  添加editor场景的可视化元素        77
3.3.2  添加editor场景中的行为        78
3.3.3  将一切都关联起来        82
3.3.4  为何不用segue返回?        87
3.4  改进故事板ⅰ        87
3.5  改进故事板ⅱ        91
3.6  小结        94
3.7  挑战题        94
第4章  自动布局        95
4.1  自动布局的基础知识        95
4.2  完美纵向显示        106
4.2.1  以约束的方式思考        106
4.2.2  完整的规定        107
4.3  添加/查看汽车:设计和实现约束        108
4.3.1  设计与实现添加汽车约束                118
4.3.2  编辑汽车场景:初始的样子                123
4.4  添加横向屏幕支持        123
4.5  小结        142
4.6  挑战题        143
第5章  本地化        145
5.1  本地化的基础知识        145
5.1.1  重定向        146
5.1.2  格式        148
5.2  为本地化而准备应用程序        150
5.3  德语国际化        162
5.3.1  添加德语区域        162
5.3.2  更改设备语言        163
5.3.3  更新德语版的localizable.strings        164
5.3.4  修改标签约束        166
5.3.5  格式化和读取数字        169
5.4  从右至左:阿拉伯语国际化        170
5.4.1  添加阿拉伯语字符串        170
5.4.2  让日期和数字能够工作        173
5.4.3  文本对齐        175
5.5  小结        176
5.6  挑战题        177
第6章  滚动        179
6.1  滚动的基础知识        179
6.2  弹跳滚动        180
6.3  处理键盘        183
6.3.1  添加滚动视图        183
6.3.2  调整键盘大小        186
6.3.3  添加调整大小        190
6.4  在内容中滚动        190
6.4.1  填充滚动视图        191
6.4.2  添加分页        193
6.4.3  添加缩放        194
6.4.4  旋转        197
6.4.5  这是什么车?        198
6.5  小结        198
6.6  挑战题        199
第7章  导航控制器i:层次结构和标签        201
7.1  导航控制器        201
7.1.1  导航控制器类        203
7.1.2  基于消息的导航        209
7.1.3  少许颜色        210
7.2  标签栏控制器        212
7.2.1  标签栏的工作原理        213
7.2.2  carvalet应用程序:添加标签栏        214
7.2.3  carvalet:移动info        216
7.3  小结        217
7.4  挑战题        218
第8章  表视图i:基础知识        219
8.1  表视图介绍        219
8.2  阶段i:替换add/view场景        226
8.2.1  添加汽车查看单元格        228
8.2.2  添加汽车        229
8.2.3  删除汽车        230
8.3  阶段ii:添加edit屏幕层次结构        233
8.3.1  添加查看汽车场景        233
8.3.2  用数据填充查看汽车场景                234
8.3.3  编辑数据        236
8.3.4  编辑年份        245
8.4  小结        251
8.5  挑战题        251
第9章  core data介绍        253
9.1  介绍core data        254
9.2  将carvalet应用程序迁移到core data        255
9.2.1  添加cdcar模型        256
9.2.2  添加core data样板代码        258
9.2.3  转换cartableview-controller        259
9.3  更加简单的表视图:nsfetchedresultscontroller        265
9.3.1  第1部分:集成nsfetched resultscontroller        265
9.3.2  第2部分:实现nsfetched resultscontrollerdelegate        268
9.4  小结        271
9.5  挑战题        271
第10章  表视图ii:高级话题        273
10.1  自定义表视图单元格        273
10.2  表格段和排序        276
10.2.1  表格段的表头        277
10.2.2  允许表格段的分组方式发生变化        279
10.3  添加索引        283
10.4  搜索表格        286
10.5  小结        294
10.6  挑战题        295
第11章  导航控制器ii:拆分视图和ipad        297
11.1  拆分视图控制器        297
11.2  添加拆分视图控制器        299
11.2.1  添加拆分视图控制器        301
11.2.2  添加各部分之间的导航        304
11.3  添加about视图        306
11.3.1  创建mainmenuview controller        306
11.3.2  美化菜单图片        308
11.4  在纵向屏幕中访问菜单        310
11.5  添加汽车图片        318
11.6  新增cars        320
11.6.1  使汽车表格适应ipad        322
11.6.2  汽车详情控制器        324
11.6.3  汽车详情控制器:ipad专属        326
11.7  小结        340
11.8  挑战题        341
第12章  触摸基础        343
12.1  手势识别基础        343
12.2  在汽车之间轻扫移动        344
12.2.1  在汽车之间移动        344
12.2.2  调用nextorprevious car:        347
12.2.3  添加动作选择器        348
12.2.4  添加轻扫手势        350
12.2.5  阻止识别器工作        351
12.3  自定义识别器        352
12.3.1  识别器的状态        352
12.3.2  指定的识别器消息        354
12.4  ipad返回home页        354
12.4.1  创建返回手势识别器        355
12.4.2  将手势识别器添加到当前的详情视图        357
12.4.3  创建并响应手势识别器        358
12.5  再添加一个手势        359
12.5.1  拖动手势识别器        359
12.5.2  添加支持拖动的出租车视图        360
12.6  小结        361
12.7  挑战题        361
第13章  block介绍        363
13.1  block基础        363
13.1.1  声明block        363
13.1.2  使用block        364
13.1.3  编写block        364
13.2  变量的作用域        369
13.3  替换协议        371
13.3.1  步骤(1):修改viewcartable viewcontroller        371
13.3.2  步骤(2):更新cartable viewcontroller        372
13.3.3  步骤(3):修改cardetail viewcontroller        373
13.3.4  步骤(4):更新mainmenu viewcontroller        373
13.4  小结        374
13.5  挑战题        374
第14章  instruments和调试        375
14.1  instruments        375
14.1.1  模板和仪器        377
14.1.2  使用time profiler的示例        378
14.1.3  关于仪器的最后一句话        382
14.2  调试器        383
14.2.1  调试仪表:微型instruments        384
14.2.2  断点、动作、代码        386
14.3  bug搜寻:instruments和调试器        387
14.3.1  从zombies开始        388
14.3.2  转移到调试器        390
14.4  小结        391
14.5  挑战题        392
第15章  部署应用程序        393
15.1  证书、概要和应用程序        393
15.1.1  生成开发证书和profile        395
15.1.2  应用程序id和provisioning        397
15.2  预发行        403
15.2.1  bug报告        403
15.2.2  度量        404
15.2.3  质量保证测试        405
15.2.4  市场营销        408
15.3  上传和发行        409
15.3.1  软件详情        410
15.3.2  上传到app store        414
15.3.3  在发布之后需要注意的事情        418
15.4  下一步去哪儿        419
15.4.1  网页        420
15.4.2  开发者小组与会议        420
15.4.3  其他社交媒体        421
15.5  小结        422
15.6  挑战题        422





欢迎光临 推荐书 (https://www.2haoshu.com/) Powered by Discuz! X3.2