第1章 开发前的准备 1
1.1 App Store的发展及其商业模式 1
1.2 获取企业版iOS开发者证书 2
1.2.1 申请企业版IDP 3
1.2.2 获取开发者证书 5
1.2.3 录入设备ID 7
1.2.4 创建应用程序ID 9
1.2.5 制作设备激活文档 10
1.3 部署iOS企业应用程序 13
1.3.1 制作In House发布的签名文档 13
1.3.2 制作Ad Hoc发布的签名文档 14
1.3.3 编译发布版本 15
1.3.4 安装应用程序 17
1.3.5 OTA无线部署 17
第2章 创建企业共享组件 20
2.1 静态库 20
2.1.1 创建静态库项目 20
2.1.2 创建Bundle 21
2.1.3 添加静态库项目 22
2.1.4 分发静态库 25
2.2 Custom Framework 25
2.2.1 iOS Universal Framework 25
2.2.2 制作一个“真框架”项目 26
第3章 定制图形界面 29
3.1 iOS 5的图形界面定制 29
3.1.1 定制导航栏 29
3.1.2 定制UIView背景 31
3.1.3 定制导航按钮 31
3.1.4 定制UITabBar 32
3.1.5 定制UISlider 33
3.1.6 定制UISegrnentedControl 33
3.1.7 定制其他UI组件 35
3.2 iOS4的图形界面定制 35
3.2.1 定制UITextField 36
3.2.2 定制导航栏 37
3.2.3 定制UIView背景 39
3.2.4 定制导航栏按钮 40
3.2.5 定制UITabBar 42
3.2.6 定制UISlider 43
3.2.7 定制UISegmentControl 43
3.2.8 定制其他UI组件 44
第4章 开发企业应用网络模块 45
4.1 ASIHTTP框架介绍 45
4.1.1 在项目中使用ASIHTTP 46
4.1.2 发送同步请求 46
4.1.3 发送异步请求 47
4.1.4 文件的上传 49
4.1.5 文件下载 49
4.2 封装自己的网络模块类 50
4.2.1 NetworkServiceDelegate协议 50
4.2.2 NetworkService类 51
4.2.3 测试NetworkService 52
4.3 Socket编程 54
4.3.1 NSStream 54
4.3.2 获得NSStream 55
4.3.3 编写一个简单的聊天程序 56
第5章 XML解析与对象关系映射 60
5.1 XML解析和GDataXML 60
5.1.1 在项目中使用GDataXML 61
5.1.2 GDataXML的对象模型 61
5.2 XML关系对象映射 64
5.2.1 GDataXMLElement+Additions类别 64
5.2.2 XML2Object类 67
5.2.3 扩展XML2Obeict类 69
5.3 XML关系对象映射实例 72
5.3.1 创建XML2Object子类 72
5.3.2 在视图中显示XML数据 74
5.3.3 扩展应用 78
第6章 保存应用程序数据 79
6.1 应用程序的目录结构 79
6.1.1 应用程序的束 80
6.1.2 Document目录 80
6.1.3 Document/Inbox目录 81
6.1.4 Library目录 81
6.1.5 Library/Caches目录 81
6.1.6 Library/Application Support目录 82
6.1.7 Library/Preferences目录 82
6.1.8 tmp目录 82
6.2 应用程序偏好设置 82
6.2.1 plist文件 82
6.2.2 User Defaults 83
6.3 归档/反归档 87
第7章 皮肤及视图恢复 93
7.1 应用程序皮肤 93
7.1.1 皮肤包 93
7.1.2 创建皮肤包 93
7.1.3 使用皮肤包 95
7.1.4 换肤 102
7.2 内存警告及视图恢复 104
7.2.1 基于View Controller的内存管理 104
7.2.2 恢复视图状态 108
第8章 自动引用计数 109
8.1 ARC原理 109
8.1.1 什么是ARC 109
8.1.2 引用计数及ARC机制 110
8.2 使用ARC 113
8.2.1 强指针 114
8.2.2 弱指针与持有循环(retain cycles) 115
8.2.3 ARC对块的管理 117
8.3 将代码迁移到ARC 118
8.4 免费桥接 121
第9章 企业数据安全 125
9.1 使用CommonCrypt实现DES加密 125
9.2 OpenSSL介绍 129
9.2.1 编译OpenSSL 130
9.2.2 在Xcode项目中使用OpenSSL静态库 132
9.3 实现RSA和AES加密 133
9.3.1 对称加密和非对称加密 133
9.3.2 RSA加密 134
9.3.3 AES加密 138
第10章 表视图定制 143
10.1 定制分组表单元格样式 143
10.1.1 CustomCell类 143
10.1.2 ViewController类 144
10.2 创建带索引栏的表视图 146
10.3 创建带搜索栏的表视图 149
10.3.1 实现在UITableView中的搜索 149
10.3.2 实现按拼音搜索 153
10.4 定制九宫格视图 155
10.5 上拉刷新Table View 158
10.5.1 实现RefreshBar组件 159
10.5.2 使用RefreshBar组件 164
第11章 CorePlot框架 166
11.1 使用CorePlot 166
11.1.1 Core Plot的组件模型 166
11.1.2 CorePlot 中的类 167
11.1.3 绘制折线/散点图 168
11.1.4 绘制柱状图 172
11.1.5 绘制饼图 173
11.2 CorePlot进阶 174
11.2.1 自定义CorePlot主题 174
11.2.2 固定坐标轴 177
11.2.3 显示数据点的值 178
11.2.4 显示网格线/平行线 179
11.2.5 显示饼图的Data Label 179
11.2.6 剥离扇形 180
11.2.7 显示图例 180
11.3 CorePlot实战 181
11.3.1 数据源 181
11.3.2 绘制图形 183
11.3.3 实现数据源委托方法 187
第12章 AirPlay 189
12.1 AirPlay简介 189
12.1.1 AirPlay协议内容 189
12.1.2 在iOS上使用AirPlay 189
12.1.3 在iTunes中使用AirPlay 190
12.1.4 AirPlay软硬件需求 190
12.2 向AppleTV发送图片 191
12.2.1 AirPlay Server 191
12.2.2 AirPlay Client 193
12.3 使用AirPlay播放音频和视频 199
12.3.1 以AirPlay方式播放视频 199
12.3.2 以AirPlay方式播放音频 201
附录1 块编程指南 204
附录2 O-C运行时 207
附录3 谓词及可变参数 212
附录4 方法混合 217
附录5 getter、setter和属性 220
附录6 单例及全局对象 225
参考文献 229