企业级iOS应用开发实战

出版社:机械工业出版社华章公司
出版日期:2013-2-5
ISBN:9787111404590
作者:杨宏焱
页数:399页

章节摘录

版权页:   插图:   第10章 安全 随着第3代数字通信技术的发展,手机网络的成熟度及信号质量获得了明显提升。这直接导致移动应用种类从单纯的个人应用、游戏娱乐逐渐向企业应用转移。这些应用涵盖了多媒体业务、交互式数据业务、电子商务、互联网服务等多种信息服务,手机信息安全的问题也就随之而来,比如个人密码和商业机密的泄漏。因此,在iOS企业应用开发中,为了保障系统的安全,常采用密钥机制对网络接人进行认证和鉴权,并使用各种加密算法对传输数据进行加密,以及确保数据完整性。本章主要讨论iOS客户端的安全机制。 首先介绍了iOS安全框架的相关概念,比如证书、密钥和信任服务。在苹果iOS和Mac OSx中,这些概念被集合到了钥匙串中。 在此基础上,我们介绍了企业应用中常见的X.509标准数字证书以及应用。通过Cocoa的Security framework框架,我们实现了对自签名X.509证书的验证,从而演示了如何应用Security框架来使用苹果的证书、密钥和信任服务。并总结了Security框架的不足之处。 Web应用中常使用SSL/TSL协议保证网络数据的传输安全。我们在第7章中介绍了ASIHTTPRequest框架,该框架对底层网络协议进行了封装,包括HTTP和HTTPs。 最后,我们介绍了两个比较常见的安全算法库0penSSL和CommonCrypto,并分别演示了如何利用这两个安全算法库实现了常见的MD5和DES加密。 10.1 iOS安全框架简介 关于苹果的安全框架,在苹果的文档中有详细的描述,其中两篇是我们必须阅读的:“Certificate,Key,and Trust Services Concepts”和“Certificate,Key,and Trust ServicesProgramming Guide”。本节我们主要介绍第一篇文档的一些内容,关于苹果安全框架中的一些基本术语,如证书、密钥和信任的概念。 10.1.1 证书、密钥和信任服务 证书(或称为数字证书)是用于校验证书发行者或持有者身份的数据集合。在网络中,要想识别一个人的身份不是一件容易的事情,要想在证书中实现这点,证书中必须包含大量的信息: 证书是谁签发的? 证书是发给谁用的? 有效期(何时生效?何时过期?) 证书所用的公钥。 数字签名,用于表明证书签发者身份,并保证证书未被篡改。

前言

前言为什么写这本书随着我国3G网络和移动互联网的兴起,许多传统的企业应用正在从桌面向移动终端扩展,移动办公、移动营销、移动作业等需求日渐强烈。有迹象表明,传统的互联网正在向移动互联网发展。根据摩根士丹利发布的全球互联网发展趋势报告(Mary Meeker 2010)显示:全球互联网发展趋势正在由PC-Internet向Mobile-Internet转变,手机在某种意义上已经主导着互联网的发展,新兴的下一代互联网,即Mobile 2.0正在崛起,这完全得益于移动通信技术的迅猛发展。这不仅仅是一场由最新数码科技与网络技术导致的变革,还是传统企业应用从Internet向移动互联网转移的前提和诱因。与PC相比,移动终端的这种全新用户体验是不可替代的,在一定程度上吸引了人们从桌面向移动终端的转移。而且,移动互联网也凭借着其出色的业务吸引力和资费吸引力,成为人们生活中不可或缺的一部分。然而,机遇与挑战并存。对于企业而言,能否将自己的企业应用向移动互联网扩展,仍然存在着巨大的风险。诸如:用户体验改变、企业信息安全和企业机密泄露、移动应用开发中存在的技术风险等。以苹果iOS为代表的移动应用开发正方兴未艾。iPhone和iPad正式进入中国的时间其实还不到3年(iPhone于2010年7月正式在中国香港上市),国内开发者在苹果商店上淘金的时间比这要早些,但绝对不会超过4年。实际上,App Store 拥有的历史还不到5年(App Store正式上线时间是2008年7月11日)。所以说,iPhone 应用开发仍然有着无限的潜力,称为“历史”恐怕为时尚早。因此,作者选择了以iOS为目标平台的企业移动应用开发作为本书讲述的主题。作者于2009年起开始接触iOS开发。对于一个多年奋战在企业应用开发第一线的开发人员来说,iOS企业开发是一个全新的领域。完全陌生的Mac OS X操作系统,别扭的Xcode IDE和Interface Builder,古怪的iOS……由于不知道什么是开发证书和代码签名,甚至在第一次调试我的3.5英寸屏幕的iTouch时,都是充满了坎坷。当我历尽千辛万苦,终于逐渐步入iOS开发这座大门。然而,却又面临新的问题:“企业应用是否能向iOS平台进行迁移?”从我第一天接到任务起,这样的怀疑就在我心中存在。iOS实在是太封闭了,相对于Android这样的开放平台,iOS 平台对企业开发人员的限制实在是太多。而且,App商店始终只是游戏开发者的天堂,90%以上的个人开发者把自己的目光盯在了游戏、娱乐等个人应用领域,企业应用根本无法登上App商店的大雅之堂。原因也很好理解,企业应用不会为苹果公司带来可观的利润分成,App商店的盈利模式是基于应用下载量的。一个企业应用会有多少用户?几百万?几千万?不,大多数企业应用的用户量不会超过5位数。没有庞大的用户群,就不会给App商店带来丰厚的利润分成。实际上,我第一次向App商店提交一个企业应用时,被无情地拒绝了。苹果公司给的理由很直白:“你的应用只针对有限的用户群”,换句话说“苹果将无利可图”。幸好苹果公司提供了“企业开发程序”(企业版IDP),虽然购买“企业开发程序”需要299美金一年,但对于一个真正决心将企业应用向iOS 移动终端扩展的企业来说,还是负担得起的。“企业开发程序”不需要苹果公司审核,使用“企业开发程序”部署应用不需要经过App商店,企业可以任意分发给自己的用户,苹果公司也不会找你要一分钱。可以预料,在将来一段时间内,国内的iOS个人应用开发者将不断向企业开发领域转移。实际上,苹果商店中个人应用的数量已经饱和,开发者的生存空间将逐渐变得狭小。大量的同质竞争直接导致了App商店的生态环境恶化,同类应用竞争激烈。为了保持 App 商店的竞争力和盈利模式不趋于低质化,苹果公司今后对商店应用的审核将越来越趋于严格,开发者想在商店中获利和生存的难度将越来越高。国内的公司及个人开发者会逐渐将目光转移到位于App商店生态圈之外的企业应用,iOS企业应用将成为今后新的利润增长点。最近,企业移动应用开发出现了一些新的趋势。最新的企业移动应用,有从 Native App(即本地代码)向云发展的趋势,比如HTML5、虚拟桌面。HTML 5 充分利用移动终端的浏览器(如Safari或IE)和网络连接能力,来访问企业服务,并实现“一次开发,跨平台共享”的目的。而虚拟桌面则利用“数据中心”进行桌面的扩展,将客户端的数据、资源和图像放到了“云”上,iOS客户端则通过网络访问个人桌面。虚拟桌面一般作为企业的“云计算”解决方案进行实施,市场上比较成熟的产品主要来自VMWare、Citrix、Microsoft和Oracle等几大厂商,它跟开发人员没有太大的关系。还有一种趋势就是“服务器配置+中间代码+本地代码”。开发人员在服务器上以配置的方式产生出中间代码,然后服务器将中间代码编译为多个平台的本地代码(iOS、Android、Sybian、Windows),然后分别部署,以此实现跨平台的目的。这些趋势的出现,从一定程度上试图解决当前本地代码开发(iOS开发、Android开发)的弊端,但效果还难以令人满意,比如都有性能下降、用户体验差、网络带宽占用大等缺点。因此,就目前来说,移动应用开发仍然是以本书介绍的本地代码开发为主流。本书特色本书是作者多年开发经验的总结,很多内容来自作者在CSDN上的博客,书中不少内容是经验之谈。本书根据iOS操作系统更新频繁的实际情况,针对新的SDK版本进行了内容上的调整(本书内容适用于SDK 4.0~5.0,本书所有代码在Xcode4.3下编译通过)。在介绍每一种SDK框架的同时,注重扩展,在继承的基础上进行创新,而不是一味复制、粘贴代码。本书具有如下特点:主题明确,以“iOS”和“企业开发”为主题, 但并没有将二者割裂开来,而是将二者紧密联系、互相呼应。首先由浅入深介绍了整个SDK框架层次,包括Objective-C语言简介、SDK的构成、Foundation框架、UIKit框架、QuartzCore、CoreAnimation以及其他第三方扩展框架,然后对在企业应用中一些需要特别讨论的方面(如安全、网络、APN、多线程等内容)进行专门的论述。撇开企业开发的特色不谈,本书也完全可以作为一本iOS开发的经典教材。理论和技术兼顾。许多iOS开发书籍,轻理论,重技术,往往只告诉你怎么做,而不告诉你为什么要这样做,难以让读者在理解的基础上加深记忆。而本书以理论为纲,以技术为体,从基本理论到具体使用的技术都一一道来,不仅告诉你怎么做,而且将每一种技术的来龙去脉阐述清楚。在讲解具体技术的同时,不时穿插着小的知识点,让读者进一步拓宽相关的背景知识。详细分析代码,实用性强。作为编程类书籍,免不了有大量的代码。但本书对多数代码都进行了阐释,重点内容还会有专门的标注,如“提示”、“注意”等,以提醒读者注意,或者及时回顾前面的知识点。本书中的每一个示例程序,都收录到本书的随书光盘中。所有的程序都经过作者认真调试,可以直接运行。合适阅读本书的人本书适用于以下读者:从未接触过Objective-C、从其他语言转向iOS开发、有一定面向对象编程基础的程序员。正准备转向企业移动应用开发的 iOS 应用程序开发人员 。如何阅读本书这是一本讲述iOS和企业应用开发相结合的书,介绍如何在iOS上进行企业应用的开发及分发、部署。本书从一个企业应用开发者的角度出发,以实现企业移动办公和3G应用为宗旨,介绍如何充分发挥苹果新一代操作系统iOS的优势和iPhone手机的软、硬件特性将企业应用扩展到iOS平台。在最后一章以step by step的形式介绍了一个实战项目,以达到理论与实践结合的目的。本书也对苹果Cocoa框架和其他第三方开源框架进行了深入介绍。针对本书面对的两种主要读者,我们建议如下:对于本书第一类读者,即“从未接触过Objective-C、从其他语言转向iOS开发、有一定面向对象编程基础的程序员”,本书提供了一个快捷的Objective -C语言入门,以及一个简单易读而又务实详尽的iOS SDK入门教程;本书的全部章节都将有助于读者尽快对Objective -C及iOS SDK有一个全面的了解,并迅速跨入iOS开发的大门。对于本书第二类读者,即“正准备转向企业移动应用开发的 iOS 应用程序开发人员”,可以省略阅读本书部分章节,例如第2、3、4、5、6各章,但本书其他一些章节具备了良好的参考价值,例如:第10章以后的各章,在这些章节中,有部分内容是其他参考书中难以见到的,可以有选择地阅读相应章节。本书共分19章,主要内容如下:基础篇第1章介绍了企业应用的概念,什么是iOS企业应用,iOS企业应用的框架及构成,特别是对于苹果iOS企业证书申请和iOS企业应用程序的部署方式(In-House、Ad-Hoc、OTA)进行了详细的介绍。第2章介绍iOS SDK,包括其框架和构成。iOS SDK是iOS开发中最为重要的工具和武器,每个iOS开发人员都必须熟悉并深刻理解它。第3章介绍iOS开发语言Objective-C。对于没有接触过这种语言的读者,将在本章对Objective-C有一个全面的理解。本章从两个方面对Objective-C进行了介绍,即Objective-C的C语言特性和面向对象特性。也对Objective-C的一些现代语言特性,如块编程(函数式编程中的主要内容)、反射(运行时支持)和可变参数也进行了介绍,这些内容在其他书籍中是比较罕见的。第4章介绍Xcode IDE。从Xcode 4.0开始,苹果对其功能和界面进行了全新的设计,把Interface Builder完全整合到Xcode中,使程序员的开发效率更高。第5章单独对Xcode中的Interface Builder 进行了进一步介绍,特别是Assistant Editor的出现,与之前的版本相比,大大简化了开发人员进行各种连接(IBOutlet和IBAction)的操作。第6章介绍UIKit以及UIKit中包含的一系列最基本的UI组件,此外,介绍了如何在UIKit的基础上进行扩充,创建自己的自定义组件库。企业应用篇第7章到第10章,依次从网络、XML/Json、数据存储、安全这几个方面进行介绍。这些内容中,有相当一部分是企业开发人员早已熟知的领域(如网络、XML/Json、数据存储和安全)。这些章节结合iOS自身的特点进行详细的阐述,包含安全沙箱、嵌入式数据库以及iOS安全框架等内容。第11章介绍Cocoa的多媒体、Quartz 2D和Core Animation框架。第12章介绍Cocoa Touch 特有的多点触摸和手势识别。第13章介绍如何利用iPhone的多语言支持实现应用程序的国际化。第14章涉及两个方面:传统的线程编程和并行编程GCD(Grand Central Dispatch)。在企业应用中,免不了要使用多线程。前者是传统的异步编程技术,直接与操作系统底层的线程打交道;后者是iOS 4.0以后新的异步编程技术,以一种函数式编程的方式,达到让系统自动进行线程管理的目的,从而避开了线程编程的复杂性。第15章介绍通知、本地通知和远程通知。通知是多个对象间进行对话的机制,但耦合性低于直接的方法调用。本地通知和远程通知是两种不同的进程唤醒技术,前者由系统来唤醒,后者通过RPC(Remote Process Calling)唤醒。第16章介绍开源框架Core Plot。Core Plot是著名的2D图形框架,用于绘制散点图、柱状图和饼图等图表。第17章针对iOS特有的硬件特性进行介绍,如通讯簿、相机、加速计和GPS。实战篇第18章,介绍“企业APN”在企业中的应用,以及使用“企业APN”网络对iOS客户端的一些特殊要求。该章实际上包含了一个实战项目,即一个简单的APN切换工具(同时也提供了简单的网络状态检测)。在这个实战项目中,涉及了广泛的内容和前面诸多章节中介绍的知识,诸如后台任务、配置描述文件、BSD Socket编程、网络检测、Safari阻塞和并行编程GCD。第19章以案例导航的方式介绍了一个实战项目,指导读者从用户的实际需求出发,结合本书中讲述过的理论知识和技术,开发一个完整的iOS邮件客户端,使读者对企业应用的开发有直观的认识。结语本书从开始选题、写作至最终定稿,总共花费了作者14个月以来所有的业余时间。在本书写作的过程中,得到了许多人的无私帮助和大力支持。首先要感谢的是吴怡编辑。她负责本书所有文字内容、图片及格式,她总是不厌其烦地向作者指出本书中的每一处错误。 直至最终定稿前,她仍然和作者对书中的内容进行讨论,甚至是逐字逐句地讨论,以使本书不至于出现太多谬误或引发读者产生歧义。其次要感谢我的同事们。在他们身上,我学习到了许多。我在工作中取得的每一点进步,都离不开他们的支持和指导,他们敬业的态度和对我的无私帮助,是本书得以成书的动力。还要感谢我的家人。本书是在他们的关怀和支持下才得以面世的,尤其是我的妻子,因为她的理解和默默奉献,使作者从家庭琐事中解脱出来,全身心投入本书的写作当中。我要感谢始终关注作者博客、不断给作者以鼓励的网友们。虽然直至本书出书之时,我都向他们隐瞒了本书的消息,但他们留下的只言片语,仍然激励着我在知识的海洋中不断前行、探索和攀登。最后,感谢所有在本书写作过程中,给本书以参考的文献作者和论坛作者。本书参考了大量文献,尤其是苹果文档参考库、苹果开发者论坛和stackoverflow.com,它们对本书的写作起到了重要的作用。由于作者的时间、精力及自身水平有限,书中错误在所难免,欢迎广大读者一一指正。

内容概要

杨宏焱 资深软件开发工程师,毕业于英国格林威治大学,从业10余年,国内移动开发领域的先驱者之一,在iOS和Android开发领域积累了丰富的经验,完成了多个企业级移动项目的开发。此外,他还精通Java EE、SSH等Java企业级开发技术,以及Oracle和SQL Server等大型数据库的管理与开发。活跃于CSDN、CocoaChina、苹果开发者论坛、Stackoverflow等技术社区,是CSDN移动开发社区的博客专家,乐于分享,撰写和翻译了大量技术文章,深受广大网友欢迎,在社区有较高的知名度和影响力。

书籍目录

前言
基础篇
第1章 企业应用的话题/2
1.1 什么是企业应用/2
1.1.1 传统意义的企业应用/2
1.1.2 iOS 企业应用/3
1.2 iOS企业应用程序的架构/3
1.2.1 服务端/4
1.2.2 iOS 客户端/4
1.3 iOS企业应用程序的发布/5
1.3.1 iOS应用程序发布与App Store/5
1.3.2 Ad-Hoc与In-House发布/6
1.3.3 OTA无线部署/21
第2章 iOS开发框架简介/24
2.1 苹果iOS 简介/24
2.2 iOS框架介绍/25
2.3 Cocoa Touch 框架简介/25
2.4 搭建iOS开发环境/27
2.4.1 安装Mac OS X操作系统/27
2.4.2 下载安装SDK/33
2.5 写一个iPhone程序/33
2.6 在模拟器上运行应用程序/39
2.7 在 iPhone 上运行应用程序/39
第3章 Objective-C 语法简介/42
3.1 Objective-C的C语言特性/42
3.1.1 一个简单的 Hello World/42
3.1.2 Objetive-C是另一种C/43
3.1.3 数据类型/44
3.1.4 常量、变量和宏/50
3.1.5 #include和#import/51
3.1.6 函数/51
3.1.7 分支和循环/51
3.2 面向对象的C/51
3.2.1 类和对象/51
3.2.2 消息机制/54
3.2.3 Objective-C 的内存管理/55
3.2.4 类别和协议/57
3.2.5 反射机制/59
3.2.6 谓词/62
3.3 MVC模式/65
3.4 KVO模型/65
3.4.1 注册KVO/66
3.4.2 接收变更通知/67
3.4.3 发送变更通知/67
3.5 块编程/68
3.5.1 块的特点/68
3.5.2 Objective-C 中的块/69
3.6 可变参数/71
3.7 本章小结/73
第4章 Xcode集成开发环境/74
4.1 创建第一个Xcode应用程序/74
4.2 构成应用程序的那些东西/76
4.2.1 Info.plist 和 pch 文件/76
4.2.2 Xib 文件/77
4.2.3 资源文件/77
4.2.4 源代码文件/77
4.2.5 项目和目标/77
4.2.6 Frameworks/80
4.2.7 应用程序的文档目录和临时文件夹/81
4.3 了解Xcode为我们做了些什么/83
4.3.1 main.m/83
4.3.2 应用程序委托/84
4.4 在Xcode中添加View Controller/84
4.5 在Xcode中添加框架/89
4.6 Xcode 使用技巧/90
4.6.1 自动完成/90
4.6.2 查找和替换/91
4.6.3 快速帮助/91
4.6.4 快照/91
4.6.5 书签/91
4.6.6 使用导航条/92
4.7 本章小结/92
第5章 Interface Builder/93
5.1 IB和xib、nib文件/93
5.2 初识IB/94
5.3 使用IB创建图形界面/95
5.3.1 控制器和视图/95
5.3.2 基本控件介绍/99
5.4 连接/100
5.4.1 IBOutlet 连接/100
5.4.2 IBAction 连接/102
5.4.3 委托连接/103
5.4.4 使用Assistant Editor创建连接/105
5.5 本章小结/106
第6章 高级图形界面/107
6.1 应用程序多视图的导航/107
6.1.1 UITabBarController/107
6.1.2 UINavigationController/110
6.1.3 窗体导航应用实例/114
6.2 表视图UITableViewController的应用及其扩展/116
6.2.1 简单的表视图控制器/116
6.2.2 UITableView的数据源和委托/117
6.2.3 分组表视图/119
6.2.4 可折叠的分组表视图/121
6.3 扩展UIKit/131
6.3.1 扩展日期挑选控件/131
6.3.2 扩展单选按钮和复选按钮/133
6.3.3 扩展下拉列表框/135
6.3.4 封装自己的控件库/137
6.4 翻页控件和翻页控制器/142
6.4.1 UIPageControl/143
6.4.2 UIPageViewController/147
6.5 本章小结/152
企业应用篇
第7章 网络/154
7.1 使用NSURLConnection获得网络数据/154
7.2 使用NSOperation进行异步请求/158
7.3 与网络相关的示例/163
7.4 ASIHTTPRequest框架介绍/166
7.4.1 发送同步请求/167
7.4.2 发送异步请求/168
7.4.3 文件上传/169
7.4.4 文件下载/172
7.4.5 Cookies和Sessions/176
7.5 编写自己的网络模块类/179
7.5.1 PostRequest类/179
7.5.2 NetworkModule类/181
7.5.3 测试NetworkModule/185
7.6 本章小结/186
第8章 XML和Json/188
8.1 Cocoa与XML解析/188
8.1.1 NSXMLParser/188
8.1.2 NSXMLParserDelegate/189
8.2 TBXML/190
8.3 libxml/191
8.3.1 在项目中使用libxml/192
8.3.2 libxml应用实例/192
8.4 GDataXML/202
8.5 Json和SBJson/218
8.5.1 在项目使用SBJson/218
8.5.2 SBJson使用示例/218
8.6 本章小结/219
第9章 保存用户数据/220
9.1 文件的持久化/220
9.1.1 保存到plist文件/220
9.1.2 NSUserDefaults/221
9.1.3 归档/224
9.2 数据库/226
9.2.1 嵌入式数据库SQLite3/226
9.2.2 使用 Core Data/228
9.2.3 使用PLDatabase访问数据库/232
9.3 本章小结/236
第10章 安全/237
10.1 iOS安全框架简介/237
10.1.1 证书、密钥和信任服务/237
10.1.2 在iPhone中使用X.509证书/238
10.2 使用SSL和服务器通信/244
10.3 OpenSSL/245
10.3.1 在iOS中使用OpenSSL库/245
10.3.2 OpenSSL应用实例--使用OpenSSL进行MD5加密/248
10.4 CommonCrypto/250
10.5 本章小结/252
第11章 多媒体、绘图及动画/253
11.1 播放视频/253
11.2 播放音频/254
11.3 Quartz 2D/255
11.3.1 图形上下文/255
11.3.2 路径/256
11.3.3 变换/257
11.3.4 图案/261
11.3.5 阴影/262
11.3.6 渐变/263
11.3.7 透明图层/264
11.3.8 位图及遮罩/264
11.4 Core Animation/267
11.4.1 隐式动画/267
11.4.2 显式动画/268
11.5 本章小结/269
第12章 多点触摸及手势/270
12.1 手势识别器:UIGestureRecognizer 类/270
12.2 创建手势识别器/272
12.3 实现图片的拖动及缩放/276
12.4 本章小结/279
第13章 本地化/280
13.1 iPhone的本地化支持/280
13.1.1 国家代码和语言代码/280
13.1.2 本地化文件夹的匹配/281
13.2 本地化应用程序/281
13.2.1 使用NSLocaledString本地化字符串/281
13.2.2 本地化图像/285
13.2.3 本地化xib文件/285
13.2.4 本地化应用程序名称/285
13.3 示例/285
13.4 本章小结/289
第14章 iOS多线程和并行编程/290
14.1 多线程/290
14.1.1 NSThread/291
14.1.2 RunLoop/293
14.2 并行编程/296
14.2.1 Dispatch Queue/296
14.2.2 将任务加入Dispatch Queue/297
14.2.3 Dispatch源/298
14.3 后台任务/301
14.4 本章小结/303
第15章 通知、本地通知和远程通知/304
15.1 通知/304
15.2 本地通知/307
15.3 远程通知/315
15.3.1 Apple Push 简介/316
15.3.2 准备使用APNs/316
15.3.3 准备接收推送通知/320
15.3.4 创建 Push Notification Provider/322
15.4 本章小结/325
第16章 开源框架Core Plot/327
16.1 编译Core Plot框架/327
16.2 使用Core Plot SDK/327
16.3 安装Core Plot帮助文档/328
16.4 图表的构成/329
16.5 类图/330
16.6 使用 Core Plot 绘制折线图/331
16.7 使用Core Plot绘制柱状图/335
16.7.1 绘制基本的柱状图/335
16.7.2 固定坐标轴/336
16.7.3 显示数据点的值/338
16.7.4 显示网格线/339
16.8 使用Core Plot绘制饼图/339
16.8.1 饼图的绘制/340
16.8.2 显示每个扇形的比例/341
16.8.3 剥离扇形/341
16.8.4 显示图例/342
16.8.5 响应事件/343
16.9 自定义Core Plot主题/343
16.10 本章小结/346
第17章 通讯簿、GPS和重力感应/347
17.1 通讯簿/347
17.1.1 Address Book UI/347
17.1.2 Address Book/348
17.1.3 联系人中文姓氏排序/350
17.2 GPS 和CoreLocation/351
17.3 重力感应/353
17.4 地理编码/355
17.5 本章小结/356
实战篇
第18章 企业APN/358
18.1 企业APN的建设/358
18.2 iPhone 与APN/359
18.3 配置描述文件/360
18.4 在iPhone上实现一个HTTP服务器/362
18.5 后台任务与无限后台任务/365
18.6 实现APN 切换/368
18.7 检测网络状况/369
18.8 Safari阻塞/373
18.9 本章小结/377
第19章 iOS企业应用实战/378
19.1 应用场景与功能概述/378
19.2 应用程序架构/378
19.3 服务器端/378
19.3.1 环境搭建/378
19.3.2 实现登录接口/379
19.3.3 实现企业通讯簿接口/379
19.3.4 实现收件箱接口/380
19.3.5 实现附件上传接口/380
19.3.6 实现附件下载接口/380
19.4 iPhone 客户端/381
19.4.1 实现登录/381
19.4.2 查看收件箱/383
19.4.3 邮件浏览/387
19.4.4 新建邮件/389
19.4.5 正文输入界面/391
19.4.6 通讯簿/392
19.4.7 附件文件的上传/397
19.5 本章小结/399

编辑推荐

《企业级iOS应用开发实战》内容全面,系统讲解开发企业级iOS应用所需掌握的各项核心技术,以及各种工具和框架的用法,包含大量技巧和最佳实践。实战性强,不仅为各个知识点精心设计了能辅助读者理解的小案例,而且还有能指导读者完整实践的大案例,具备极强的可操作性。

作者简介

本书内容全面,它不仅详细讲解了开发企业级iOS应用所需掌握的各项核心技术,以及各种工具和框架的用法,而且还系统讲解了企业级iOS应用开发的流程和方法;实战性强,不仅为各个知识点精心设计了能辅助读者理解的小案例,而且还有能指导读者进行完整实践的大案例,具备极强的可操作性。除此之外,本书还包含大量的开发技巧和最佳实践。
本书分为三部分:基础篇(1~6章),首先介绍了传统企业级应用与iOS企业级应用的区别、iOS企业级应用程序的架构以及发布方法,然后详细讲解了iOS的开发框架、Objective-C语法的核心要素、Xcode集成开发环境、Interface Builder和高级图形界面;核心技术篇(7~17章),系统深入地讲解了网络、XML和JSON、用户数据保存、安全、多媒体、绘图、动画、多点触摸和手势、GPS、重力感应、本地化、多线程、并行编程、通知、通讯簿等与企业级应用相关的核心技术特性,同时也讲解了开源框架CorePlot;实战篇(18~19章)以迭代的方式讲解了两个综合案例的完整实现过程,既融合了前面的理论知识,又展现了企业级iOS应用开发的流程和方法。


 企业级iOS应用开发实战下载



发布书评

 
 


精彩短评 (总计8条)

  •     还不错吧,内容挺全。
  •     太不给力了,说的东西比较的没有,他这种说法。和我给你一些题目自己去查没多大区别。而且所包含的的东西也不是现在的主流东西,不太实用。觉得有点不发算
  •     为缺少实践的iOS程序员提供阅历
  •     书本还不错,就是电子书的排版不是很好
  •     内容广泛,但在ios 6时代,某些理念略显守旧。out of box的软件开发标准和观念值得学习。
  •     书名很大气,但内容却是让人失望。顶多就是一个精简版的入门书籍!内容基于ios sdk 5.0和xcode 4.2p27-p33在讲如何在虚拟上安装破解版的osx 10.6.5--这也能放到书上?
  •     技术更新太快,作者书中所讲的使用的类库,很多都已不推荐使用了!!!读者一定要注意。
  •     对于IPHONE开发很适用,讲的不错
 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024