iOS开发指南:从零基础到App Store上架

iOS开发指南:从零基础到App Store上架
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2013-07
版次: 1
ISBN: 9787115324443
定价: 99.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 704页
字数: 1376千字
正文语种: 简体中文
丛书: 图灵原创
28人买过
  •   《iOS开发指南:从零基础到App Store上架》共4 部分:第一部分为基础篇,介绍了iOS 的一些基础知识;第二部分为网络篇,介绍了iOS 网络开发相关的知识;第三部分为进阶篇,介绍了iOS 高级内容、商业思考等;第四部分为实战篇,从无到有地介绍了两个真实的iOS 应用——MyNotes 应用和2016 里约热内卢奥运会应用。书中包括了100 多个完整的案例项目源代码,大家可以到本书网站下载。
      《iOS开发指南:从零基础到App Store上架》适合iOS 开发人员阅读。
      关东升,国内知名iOS技术作家,iOS技术顾问,高级培训讲师,移动开发专家。精通iOS、Android和Windows Phone及HTML5等移动开发技术。曾先后主持开发大型网络游戏神农诀的iOS和Android客户端开发,国家农产品追溯系统的iPad客户端开发,酒店预订系统的iPhone客户端开发,金融系统微博的iOS、Windows Phone 7、Android客户端开发。在App Store上发布多款游戏和应用软件,擅长移动平台的应用和游戏类项目开发。近期为中国移动研究院、云南移动、东软、方正科技、大唐电信、中石油、深圳康拓普、上海财富168、天津港务局等企事业单位授课。
      著有《iOS网络编程与云端应用最佳实践》、《iPhone与iPad开发实战——iOS经典应用剖析》、《Android开发案例驱动教程》、《Android网络游戏开发实战》、《移动平台用户体验设计》以及《JSP网络程序设计》等图书。

    第一部分 基础篇

    第1章 开篇综述  
    1.1  iOS概述  
    1.1.1  iOS介绍  
    1.1.2  iOS 6新特性  
    1.2  开发环境及开发工具  
    1.3  本书中的约定  
    1.3.1  案例代码约定  
    1.3.2  图示的约定  

    第2章 
    第一个iOS应用程序  
    2.1  创建基于nib的HelloWorld工程  
    2.1.1  创建工程  
    2.1.2  Xcode中的iOS工程模板  
    2.1.3  应用剖析  
    2.2  基于故事板的HelloWorld工程  
    2.2.1  使用故事板重构HelloWorld  
    2.2.2  nib、xib与故事板  
    2.2.3  故事板中的Scene和Segue  
    2.3  应用生命周期  
    2.3.1  非运行状态--应用启动场景  
    2.3.2  点击Home键--应用退出场景  
    2.3.3  挂起重新运行场景  
    2.3.4  内存清除--应用终止场景  
    2.4  视图生命周期  
    2.4.1  视图生命周期与视图控制器关系  
    2.4.2  iOS 6 UI状态保持和恢复  
    2.5  设置产品属性  
    2.5.1  Xcode中的Project和Target  
    2.5.2  设置常用的产品属性  
    2.6  iOS API简介  
    2.6.1  API概述  
    2.6.2  如何使用API帮助  
    2.7  小结  

    第3章 iOS常用设计模式  
    3.1  单例模式  
    3.1.1  问题提出  
    3.1.2  实现原理  
    3.1.3  应用案例  
    3.2  委托模式  
    3.2.1  问题提出  
    3.2.2  实现原理  
    3.2.3  应用案例  
    3.3  观察者模式  
    3.3.1  问题提出  
    3.3.2  实现原理  
    3.3.3  通知机制和KVO机制  
    3.4  MVC模式  
    3.4.1  MVC模式概述  
    3.4.2  Cocoa Touch中的MVC模式  
    3.5  小结  

    第4章 UIView与控件  
    4.1  视图"始祖"--UIView  
    4.1.1  UIView"家族"  
    4.1.2  应用界面的构建层次  
    4.1.3  视图分类  
    4.2  标签控件和按钮控件  
    4.2.1  标签控件  
    4.2.2  按钮控件  
    4.2.3  动作和输出口  
    4.3  TextField控件和TextView控件  
    4.3.1  TextField控件  
    4.3.2  TextView控件  
    4.3.3  键盘的打开和关闭  
    4.3.4  关闭和打开键盘的通知  
    4.3.5  键盘的种类  
    4.4  开关控件、滑块控件和分段控件  
    4.4.1  开关控件  
    4.4.2  滑块控件  
    4.4.3  分段控件  
    4.5  网页控件WebView  
    4.5.1  WebView介绍  
    4.5.2  使用WebView构建Hybrid应用  
    4.6  屏幕滚动控件ScrollView  
    4.6.1  ScrollView属性的设置  
    4.6.2  键盘与其他控件的协同  
    4.7  等待相关的控件与进度条  
    4.7.1  活动指示器ActivityIndicatorView  
    4.7.2  进度条ProgressView  
    4.8  警告框和操作表  
    4.8.1  警告框AlertView  
    4.8.2  操作表ActionSheet  
    4.9  工具栏和导航栏  
    4.9.1  工具栏  
    4.9.2  导航栏  
    4.10  屏幕布局  
    4.10.1  iPad与iPhone屏幕布局  
    4.10.2  绝对布局和相对布局  
    4.10.3  使用AutoLayout布局  
    4.10.4  旋转你的屏幕  
    4.11  选择器  
    4.11.1  日期选择器  
    4.11.2  普通选择器  
    4.11.3  数据源协议与委托协议  
    4.12  iOS 6中的集合视图  
    4.12.1  集合视图介绍  
    4.12.2  集合视图单元格  
    4.12.3  数据源协议与委托协议  
    4.13  小结  

    第5章 表视图  
    5.1  概述  
    5.1.1  表视图的组成  
    5.1.2  表视图的相关类  
    5.1.3  表视图分类  
    5.1.4  单元格的组成和样式  
    5.1.5  数据源协议与委托协议  
    5.2  简单表视图  
    5.2.1  创建简单表视图  
    5.2.2  自定义单元格  
    5.2.3  添加搜索栏  
    5.3  分节表视图  
    5.3.1  添加索引  
    5.3.2  分组与静态表  
    5.4  修改单元格  
    5.4.1  删除和插入单元格  
    5.4.2  移动单元格  
    5.5  表视图UI设计模式  
    5.5.1  分页模式  
    5.5.2  下拉刷新模式  
    5.5.3  iOS 6下拉刷新控件  
    5.6  小结  

    第6章 视图控制器与导航模式  
    6.1  概述  
    6.1.1  视图控制器的种类  
    6.1.2  导航模式  
    6.1.3  模态视图  
    6.2  平铺导航  
    6.2.1  应用场景  
    6.2.2  基于分屏导航的实现  
    6.2.3  基于分页导航的实现  
    6.3  标签导航  
    6.3.1  应用场景  
    6.3.2  nib实现  
    6.3.3  故事板实现  
    6.4  树形结构导航  
    6.4.1  应用场景  
    6.4.2  nib实现  
    6.4.3  故事板实现  
    6.5  组合使用导航模式  
    6.5.1  应用场景  
    6.5.2  故事板实现  
    6.6  小结  

    第7章 iPhone与iPad应用开发的差异  
    7.1  概述  
    7.1.1  应用场景差异  
    7.1.2  设计和开发需注意的问题  
    7.1.3  构建自适应的iPhone和iPad工程  
    7.2  iPad专用API  
    7.2.1  UIPopoverController控制器  
    7.2.2  UISplitViewController控制器  
    7.2.3  模态视图专用属性  
    7.3  Master-Detail应用程序模板  
    7.3.1  nib实现  
    7.3.2  故事板实现  
    7.4  Utility应用程序模板  
    7.4.1  nib实现  
    7.4.2  故事板实现  
    7.5  移动平台的分层架构设计  
    7.5.1  低耦合企业级系统架构设计  
    7.5.2  移动平台的分层架构设计  
    7.5.3  基于同一工程的分层  
    7.5.4  基于一个工作空间不同工程的分层  
    7.6  小结  

    第8章 应用程序设置  
    8.1  概述  
    8.1.1  设置  
    8.1.2  配置  
    8.2  应用程序设置包  
    8.3  设置项目种类  
    8.3.1  文本字段  
    8.3.2  开关  
    8.3.3  滑块  
    8.3.4  值列表  
    8.3.5  子界面  
    8.4  读取设置  
    8.5  小结  

    第9章 应用程序本地化  
    9.1  概述  
    9.1.1  本地化内容  
    9.1.2  本地化目录结构  
    9.2  文本信息本地化  
    9.2.1  系统按钮和信息本地化  
    9.2.2  应用名称本地化  
    9.2.3  程序代码输出的静态文本本地化  
    9.2.4  使用genstring工具  
    9.3  nib和故事板文件本地化  
    9.3.1  添加本地化  
    9.3.2  开关使用ibtool工具  
    9.4  资源文件本地化  
    9.5  小结  

    第10章 数据持久化  
    10.1  概述  
    10.1.1  沙箱目录  
    10.1.2  持久化方式  
    10.2  属性列表  
    10.3  对象归档  
    10.4  使用SQLite数据库  
    10.4.1  SQLite数据类型  
    10.4.2  创建数据库  
    10.4.3  查询数据  
    10.4.4  修改数据  
    10.5  Core Data  
    10.5.1  ORM  
    10.5.2  Core Data堆栈  
    10.5.3  建模和生成实体  
    10.5.4  采用Core Data分层架构设计  
    10.5.5  查询数据  
    10.5.6  修改数据  
    10.6  小结  

    第11章 访问通讯录  
    11.1  概述  
    11.2  读取联系人信息  
    11.2.1  查询联系人记录  
    11.2.2  读取单值属性  
    11.2.3  读取多值属性  
    11.2.4  读取图片属性  
    11.3  写入联系人信息  
    11.3.1  创建联系人  
    11.3.2  修改联系人  
    11.3.3  删除联系人  
    11.4  高级API  
    11.4.1  选择联系人  
    11.4.2  显示和修改联系人  
    11.4.3  创建联系人  
    11.5  小结  

    第二部分 网络篇

    第12章 访问Web Service  
    12.1  概述  
    12.2  数据交换格式  
    12.2.1  XML文档结构  
    12.2.2  解析XML文档  
    12.2.3  JSON文档结构  
    12.2.4  JSON数据解码  
    12.3  REST Web Service  
    12.3.1  HTTP和HTTPS协议  
    12.3.2  同步GET请求方法  
    12.3.3  异步GET请求方法  
    12.3.4  POST请求方式  
    12.3.5  调用REST Web Service的插入、修改和删除方法  
    12.4  使用ASIHTTPRequest框架  
    12.4.1  安装和配置ASIHTTPRequest框架  
    12.4.2  同步请求  
    12.4.3  异步请求  
    12.4.4  使用请求队列  
    12.4.5  上传数据  
    12.5  反馈网络信息改善用户体验  
    12.5.1  iOS 6表视图刷新控件的使用  
    12.5.2  使用等待指示器控件  
    12.5.3  使用网络等待指示器  
    12.6  小结  

    第13章 定位服务与地图应用  
    13.1  定位服务  
    13.1.1  定位服务编程  
    13.1.2  地理信息反编码  
    13.1.3  地理信息编码查询  
    13.1.4  关于定位服务的测试  
    13.2  使用iOS 6苹果地图  
    13.2.1  显示地图  
    13.2.2  添加标注  
    13.2.3  跟踪用户位置变化  
    13.3  使用程序外地图  
    13.3.1  调用iOS 6苹果地图  
    13.3.2  调用谷歌Web地图  
    13.4  小结  

    第三部分 进阶篇

    第14章 iOS中的商业模式  
    14.1  收费策略  
    14.1.1  iOS如何赚钱  
    14.1.2  避免定价策略误区  
    14.1.3  免费软件的艺术  
    14.1.4  在适当的时间、适当的地点植入广告  
    14.1.5  尝试不同的盈利模式  
    14.2  使用苹果iAd广告  
    14.2.1  横幅广告  
    14.2.2  插页广告  
    14.2.3  查看你的收入  
    14.3  使用谷歌AdMob广告  
    14.3.1  注册AdMob账号和管理应用  
    14.3.2  下载谷歌AdMob Ads SDK和示例代码  
    14.3.3  添加AdMob横幅广告  
    14.3.4  添加AdMob插页广告  
    14.3.5  为广告提交用户和位置信息  
    14.3.6  搜索广告  
    14.3.7  查看你的收入  
    14.4  应用内购买  
    14.4.1  概述  
    14.4.2  测试环境搭建  
    14.4.3  在程序中实现应用内购买  
    14.4.4  测试应用内购买  
    14.5  小结  

    第15章 找出程序中的bug--调试  
    15.1  Xcode调试工具  
    15.1.1  定位编译错误  
    15.1.2  查看和显示日志  
    15.1.3  设置和查看断点  
    15.1.4  调试工具栏  
    15.1.5  输出窗口  
    15.1.6  变量查看窗口  
    15.1.7  查看线程  
    15.2  日志与断言输出  
    15.2.1  使用NSLog函数  
    15.2.2  使用NSAssert宏  
    15.2.3  移除NSLog和NSAssert  
    15.3  LLDB调试工具  
    15.3.1  断点命令  
    15.3.2  观察点命令  
    15.3.3  查看变量和计算表达式命令  
    15.4  异常堆栈报告分析  
    15.4.1  跟踪异常堆栈  
    15.4.2  分析堆栈报告  
    15.5  在iOS设备上调试  
    15.5.1  创建开发者证书  
    15.5.2  设备注册  
    15.5.3  创建App ID  
    15.5.4  创建配置概要文件  
    15.5.5  设备调试  
    15.6  Xcode设备管理工具  
    15.6.1  管理设备配置概要文件  
    15.6.2  查看设备上的应用程序  
    15.6.3  设备控制台  
    15.6.4  设备日志  
    15.7  小结  

    第16章 基于测试驱动的iOS开发  
    16.1  测试驱动的软件开发概述  
    16.1.1  测试驱动的软件开发流程  
    16.1.2  测试驱动的软件开发案例  
    16.1.3  iOS单元测试框架  
    16.2  使用OCUnit测试框架  
    16.2.1  添加OCUnit到工程中  
    16.2.2  应用测试和逻辑测试  
    16.2.3  编写OCUnit测试方法  
    16.2.4  分析测试报告  
    16.3  使用GHUnit测试框架  
    16.3.1  添加GHUnit到工程  
    16.3.2  编写GHUnit测试用例  
    16.3.3  分析测试报告  
    16.4  使用伪对象  
    16.4.1  添加OCMock到工程  
    16.4.2  使用OCMock对象  
    16.5  iOS单元测试最佳实践  
    16.5.1  iOS单元测试策略  
    16.5.2  测试数据持久层  
    16.5.3  测试业务逻辑层  
    16.5.4  测试表示层  
    16.6  小结  

    第17章 让你的程序"飞"起来--性能优化  
    17.1  内存优化  
    17.1.1  内存泄漏问题的解决  
    17.1.2  查找和解决僵尸对象  
    17.1.3  autorelease的使用问题  
    17.1.4  响应内存警告  
    17.1.5  选择nib还是故事板  
    17.2  优化资源文件  
    17.2.1  图片文件优化  
    17.2.2  音频文件优化  
    17.3  延迟加载  
    17.3.1  资源文件的延迟加载  
    17.3.2  故事板和nib文件的延迟加载  
    17.4  数据持久化的优化  
    17.4.1  使用文件  
    17.4.2  使用SQLite数据库  
    17.4.3  使用Core Data  
    17.5  可重用对象的使用  
    17.5.1  表视图中的可重用对象  
    17.5.2  集合视图中的可重用对象  
    17.5.3  地图视图中的可重用对象  
    17.6  并发处理与多核CPU  
    17.6.1  主线程阻塞问题  
    17.6.2  选择NSThread还是GCD  
    17.7  编译器和编译参数  
    17.7.1  GCC、LLVM GCC与Apple LLVM比较  
    17.7.2  ARM架构  
    17.7.3  Optimization Level  
    17.8  小结  

    第18章 管理好你的程序代码--代码版本控制  
    18.1  概述  
    18.1.1  版本控制历史  
    18.1.2  基本概念  
    18.2  Git代码版本控制  
    18.2.1  服务器搭建  
    18.2.2  Gitolite服务器管理  
    18.2.3  Git常用命令  
    18.2.4  Git分支  
    18.2.5  Git协同开发  
    18.2.6  Xcode中Git的配置与使用  
    18.3  GitHub代码托管服务  
    18.3.1  创建和配置GitHub账号  
    18.3.2  创建代码库  
    18.3.3  派生代码库  
    18.3.4  使用GitHub协同开发  
    18.3.5  管理组织  
    18.4  小结  

    第19章 把你的应用放到App Store上  
    19.1  收官  
    19.1.1  添加图标  
    19.1.2  添加启动界面  
    19.1.3  调整Application Target属性  
    19.1.4  为发布进行编译  
    19.1.5  应用打包  
    19.2  发布流程  
    19.2.1  创建应用及基本信息  
    19.2.2  应用定价信息  
    19.2.3  最后信息输入  
    19.2.4  上传应用  
    19.3  常见审核不通过的原因  
    19.4  小结  

    第四部分 实战篇

    第20章 重构MyNotes应用--iOS网络通信中的设计模式与架构设计  
    20.1  移动网络通信应用的分层架构设计  
    20.2  基于委托模式实现  
    20.2.1  网络通信与委托模式  
    20.2.2  在异步网络通信中使用委托模式实现分层架构设计  
    20.2.3  类图  
    20.2.4  时序图  
    20.2.5  数据持久层的代码实现  
    20.2.6  业务逻辑层的代码实现  
    20.2.7  表示层的代码实现  
    20.3  基于观察者模式的通知机制实现  
    20.3.1  观察者模式的通知机制回顾  
    20.3.2  异步网络通信中通知机制的分层架构设计  
    20.3.3  类图  
    20.3.4  时序图  
    20.3.5  数据持久层的代码实现  
    20.3.6  业务逻辑层的代码实现  
    20.3.7  表示层的代码实现  
    20.4  小结  

    第21章 iOS敏捷开发项目实战--2016里约热内卢奥运会应用开发及App Store发布  
    21.1  应用分析与设计  
    21.1.1  应用概述  
    21.1.2  需求分析  
    21.1.3  原型设计  
    21.1.4  数据库设计  
    21.1.5  架构设计  
    21.2  iOS敏捷开发  
    21.2.1  敏捷开发宣言  
    21.2.2  iOS适合敏捷开发?  
    21.2.3  iOS敏捷开发最佳实践  
    21.3  任务1:创建应用基本工作空间  
    21.4  任务2:信息系统层与持久层开发  
    21.4.1  迭代2.1:编写数据库DDL脚本  
    21.4.2  迭代2.2:插入初始数据到数据库  
    21.4.3  迭代2.3:编写实体类  
    21.4.4  迭代2.4:DAO类GHUnit单元测试  
    21.4.5  迭代2.5:编写DAO类  
    21.4.6  迭代2.6:发布到GitHub  
    21.5  任务3:业务逻辑层开发  
    21.5.1  迭代3.1:比赛项目业务逻辑类GHUnit单元测试  
    21.5.2  迭代3.2:编写比赛项目业务逻辑类  
    21.5.3  迭代3.3:比赛日程业务逻辑类GHUnit单元测试  
    21.5.4  迭代3.4:编写比赛日程业务逻辑类  
    21.5.5  迭代3.5:发布到GitHub  
    21.6  任务4:表示层开发  
    21.6.1  迭代4.1:根据原型设计初步设计iPad故事板  
    21.6.2  迭代4.2:根据原型设计初步设计iPhone故事板  
    21.6.3  迭代4.3:首页模块  
    21.6.4  迭代4.4:比赛项目模块  
    21.6.5  迭代4.5:比赛日程模块  
    21.6.6  迭代4.6:倒计时模块表示层  
    21.6.7  迭代4.7:关于我们模块表示层  
    21.6.8  迭代4.8:发布到GitHub  
    21.7  任务5:收工  
    21.7.1  迭代5.1:添加图标  
    21.7.2  迭代5.2:设计和添加启动界面  
    21.7.3  迭代5.3:植入谷歌AdMob横幅广告  
    21.7.4  迭代5.4:性能测试与改善  
    21.7.5  迭代5.5:发布到GitHub  
    21.7.6  迭代5.6:在App Store上发布应用  
    21.8  小结
  • 内容简介:
      《iOS开发指南:从零基础到App Store上架》共4 部分:第一部分为基础篇,介绍了iOS 的一些基础知识;第二部分为网络篇,介绍了iOS 网络开发相关的知识;第三部分为进阶篇,介绍了iOS 高级内容、商业思考等;第四部分为实战篇,从无到有地介绍了两个真实的iOS 应用——MyNotes 应用和2016 里约热内卢奥运会应用。书中包括了100 多个完整的案例项目源代码,大家可以到本书网站下载。
      《iOS开发指南:从零基础到App Store上架》适合iOS 开发人员阅读。
  • 作者简介:
      关东升,国内知名iOS技术作家,iOS技术顾问,高级培训讲师,移动开发专家。精通iOS、Android和Windows Phone及HTML5等移动开发技术。曾先后主持开发大型网络游戏神农诀的iOS和Android客户端开发,国家农产品追溯系统的iPad客户端开发,酒店预订系统的iPhone客户端开发,金融系统微博的iOS、Windows Phone 7、Android客户端开发。在App Store上发布多款游戏和应用软件,擅长移动平台的应用和游戏类项目开发。近期为中国移动研究院、云南移动、东软、方正科技、大唐电信、中石油、深圳康拓普、上海财富168、天津港务局等企事业单位授课。
      著有《iOS网络编程与云端应用最佳实践》、《iPhone与iPad开发实战——iOS经典应用剖析》、《Android开发案例驱动教程》、《Android网络游戏开发实战》、《移动平台用户体验设计》以及《JSP网络程序设计》等图书。
  • 目录:

    第一部分 基础篇

    第1章 开篇综述  
    1.1  iOS概述  
    1.1.1  iOS介绍  
    1.1.2  iOS 6新特性  
    1.2  开发环境及开发工具  
    1.3  本书中的约定  
    1.3.1  案例代码约定  
    1.3.2  图示的约定  

    第2章 
    第一个iOS应用程序  
    2.1  创建基于nib的HelloWorld工程  
    2.1.1  创建工程  
    2.1.2  Xcode中的iOS工程模板  
    2.1.3  应用剖析  
    2.2  基于故事板的HelloWorld工程  
    2.2.1  使用故事板重构HelloWorld  
    2.2.2  nib、xib与故事板  
    2.2.3  故事板中的Scene和Segue  
    2.3  应用生命周期  
    2.3.1  非运行状态--应用启动场景  
    2.3.2  点击Home键--应用退出场景  
    2.3.3  挂起重新运行场景  
    2.3.4  内存清除--应用终止场景  
    2.4  视图生命周期  
    2.4.1  视图生命周期与视图控制器关系  
    2.4.2  iOS 6 UI状态保持和恢复  
    2.5  设置产品属性  
    2.5.1  Xcode中的Project和Target  
    2.5.2  设置常用的产品属性  
    2.6  iOS API简介  
    2.6.1  API概述  
    2.6.2  如何使用API帮助  
    2.7  小结  

    第3章 iOS常用设计模式  
    3.1  单例模式  
    3.1.1  问题提出  
    3.1.2  实现原理  
    3.1.3  应用案例  
    3.2  委托模式  
    3.2.1  问题提出  
    3.2.2  实现原理  
    3.2.3  应用案例  
    3.3  观察者模式  
    3.3.1  问题提出  
    3.3.2  实现原理  
    3.3.3  通知机制和KVO机制  
    3.4  MVC模式  
    3.4.1  MVC模式概述  
    3.4.2  Cocoa Touch中的MVC模式  
    3.5  小结  

    第4章 UIView与控件  
    4.1  视图"始祖"--UIView  
    4.1.1  UIView"家族"  
    4.1.2  应用界面的构建层次  
    4.1.3  视图分类  
    4.2  标签控件和按钮控件  
    4.2.1  标签控件  
    4.2.2  按钮控件  
    4.2.3  动作和输出口  
    4.3  TextField控件和TextView控件  
    4.3.1  TextField控件  
    4.3.2  TextView控件  
    4.3.3  键盘的打开和关闭  
    4.3.4  关闭和打开键盘的通知  
    4.3.5  键盘的种类  
    4.4  开关控件、滑块控件和分段控件  
    4.4.1  开关控件  
    4.4.2  滑块控件  
    4.4.3  分段控件  
    4.5  网页控件WebView  
    4.5.1  WebView介绍  
    4.5.2  使用WebView构建Hybrid应用  
    4.6  屏幕滚动控件ScrollView  
    4.6.1  ScrollView属性的设置  
    4.6.2  键盘与其他控件的协同  
    4.7  等待相关的控件与进度条  
    4.7.1  活动指示器ActivityIndicatorView  
    4.7.2  进度条ProgressView  
    4.8  警告框和操作表  
    4.8.1  警告框AlertView  
    4.8.2  操作表ActionSheet  
    4.9  工具栏和导航栏  
    4.9.1  工具栏  
    4.9.2  导航栏  
    4.10  屏幕布局  
    4.10.1  iPad与iPhone屏幕布局  
    4.10.2  绝对布局和相对布局  
    4.10.3  使用AutoLayout布局  
    4.10.4  旋转你的屏幕  
    4.11  选择器  
    4.11.1  日期选择器  
    4.11.2  普通选择器  
    4.11.3  数据源协议与委托协议  
    4.12  iOS 6中的集合视图  
    4.12.1  集合视图介绍  
    4.12.2  集合视图单元格  
    4.12.3  数据源协议与委托协议  
    4.13  小结  

    第5章 表视图  
    5.1  概述  
    5.1.1  表视图的组成  
    5.1.2  表视图的相关类  
    5.1.3  表视图分类  
    5.1.4  单元格的组成和样式  
    5.1.5  数据源协议与委托协议  
    5.2  简单表视图  
    5.2.1  创建简单表视图  
    5.2.2  自定义单元格  
    5.2.3  添加搜索栏  
    5.3  分节表视图  
    5.3.1  添加索引  
    5.3.2  分组与静态表  
    5.4  修改单元格  
    5.4.1  删除和插入单元格  
    5.4.2  移动单元格  
    5.5  表视图UI设计模式  
    5.5.1  分页模式  
    5.5.2  下拉刷新模式  
    5.5.3  iOS 6下拉刷新控件  
    5.6  小结  

    第6章 视图控制器与导航模式  
    6.1  概述  
    6.1.1  视图控制器的种类  
    6.1.2  导航模式  
    6.1.3  模态视图  
    6.2  平铺导航  
    6.2.1  应用场景  
    6.2.2  基于分屏导航的实现  
    6.2.3  基于分页导航的实现  
    6.3  标签导航  
    6.3.1  应用场景  
    6.3.2  nib实现  
    6.3.3  故事板实现  
    6.4  树形结构导航  
    6.4.1  应用场景  
    6.4.2  nib实现  
    6.4.3  故事板实现  
    6.5  组合使用导航模式  
    6.5.1  应用场景  
    6.5.2  故事板实现  
    6.6  小结  

    第7章 iPhone与iPad应用开发的差异  
    7.1  概述  
    7.1.1  应用场景差异  
    7.1.2  设计和开发需注意的问题  
    7.1.3  构建自适应的iPhone和iPad工程  
    7.2  iPad专用API  
    7.2.1  UIPopoverController控制器  
    7.2.2  UISplitViewController控制器  
    7.2.3  模态视图专用属性  
    7.3  Master-Detail应用程序模板  
    7.3.1  nib实现  
    7.3.2  故事板实现  
    7.4  Utility应用程序模板  
    7.4.1  nib实现  
    7.4.2  故事板实现  
    7.5  移动平台的分层架构设计  
    7.5.1  低耦合企业级系统架构设计  
    7.5.2  移动平台的分层架构设计  
    7.5.3  基于同一工程的分层  
    7.5.4  基于一个工作空间不同工程的分层  
    7.6  小结  

    第8章 应用程序设置  
    8.1  概述  
    8.1.1  设置  
    8.1.2  配置  
    8.2  应用程序设置包  
    8.3  设置项目种类  
    8.3.1  文本字段  
    8.3.2  开关  
    8.3.3  滑块  
    8.3.4  值列表  
    8.3.5  子界面  
    8.4  读取设置  
    8.5  小结  

    第9章 应用程序本地化  
    9.1  概述  
    9.1.1  本地化内容  
    9.1.2  本地化目录结构  
    9.2  文本信息本地化  
    9.2.1  系统按钮和信息本地化  
    9.2.2  应用名称本地化  
    9.2.3  程序代码输出的静态文本本地化  
    9.2.4  使用genstring工具  
    9.3  nib和故事板文件本地化  
    9.3.1  添加本地化  
    9.3.2  开关使用ibtool工具  
    9.4  资源文件本地化  
    9.5  小结  

    第10章 数据持久化  
    10.1  概述  
    10.1.1  沙箱目录  
    10.1.2  持久化方式  
    10.2  属性列表  
    10.3  对象归档  
    10.4  使用SQLite数据库  
    10.4.1  SQLite数据类型  
    10.4.2  创建数据库  
    10.4.3  查询数据  
    10.4.4  修改数据  
    10.5  Core Data  
    10.5.1  ORM  
    10.5.2  Core Data堆栈  
    10.5.3  建模和生成实体  
    10.5.4  采用Core Data分层架构设计  
    10.5.5  查询数据  
    10.5.6  修改数据  
    10.6  小结  

    第11章 访问通讯录  
    11.1  概述  
    11.2  读取联系人信息  
    11.2.1  查询联系人记录  
    11.2.2  读取单值属性  
    11.2.3  读取多值属性  
    11.2.4  读取图片属性  
    11.3  写入联系人信息  
    11.3.1  创建联系人  
    11.3.2  修改联系人  
    11.3.3  删除联系人  
    11.4  高级API  
    11.4.1  选择联系人  
    11.4.2  显示和修改联系人  
    11.4.3  创建联系人  
    11.5  小结  

    第二部分 网络篇

    第12章 访问Web Service  
    12.1  概述  
    12.2  数据交换格式  
    12.2.1  XML文档结构  
    12.2.2  解析XML文档  
    12.2.3  JSON文档结构  
    12.2.4  JSON数据解码  
    12.3  REST Web Service  
    12.3.1  HTTP和HTTPS协议  
    12.3.2  同步GET请求方法  
    12.3.3  异步GET请求方法  
    12.3.4  POST请求方式  
    12.3.5  调用REST Web Service的插入、修改和删除方法  
    12.4  使用ASIHTTPRequest框架  
    12.4.1  安装和配置ASIHTTPRequest框架  
    12.4.2  同步请求  
    12.4.3  异步请求  
    12.4.4  使用请求队列  
    12.4.5  上传数据  
    12.5  反馈网络信息改善用户体验  
    12.5.1  iOS 6表视图刷新控件的使用  
    12.5.2  使用等待指示器控件  
    12.5.3  使用网络等待指示器  
    12.6  小结  

    第13章 定位服务与地图应用  
    13.1  定位服务  
    13.1.1  定位服务编程  
    13.1.2  地理信息反编码  
    13.1.3  地理信息编码查询  
    13.1.4  关于定位服务的测试  
    13.2  使用iOS 6苹果地图  
    13.2.1  显示地图  
    13.2.2  添加标注  
    13.2.3  跟踪用户位置变化  
    13.3  使用程序外地图  
    13.3.1  调用iOS 6苹果地图  
    13.3.2  调用谷歌Web地图  
    13.4  小结  

    第三部分 进阶篇

    第14章 iOS中的商业模式  
    14.1  收费策略  
    14.1.1  iOS如何赚钱  
    14.1.2  避免定价策略误区  
    14.1.3  免费软件的艺术  
    14.1.4  在适当的时间、适当的地点植入广告  
    14.1.5  尝试不同的盈利模式  
    14.2  使用苹果iAd广告  
    14.2.1  横幅广告  
    14.2.2  插页广告  
    14.2.3  查看你的收入  
    14.3  使用谷歌AdMob广告  
    14.3.1  注册AdMob账号和管理应用  
    14.3.2  下载谷歌AdMob Ads SDK和示例代码  
    14.3.3  添加AdMob横幅广告  
    14.3.4  添加AdMob插页广告  
    14.3.5  为广告提交用户和位置信息  
    14.3.6  搜索广告  
    14.3.7  查看你的收入  
    14.4  应用内购买  
    14.4.1  概述  
    14.4.2  测试环境搭建  
    14.4.3  在程序中实现应用内购买  
    14.4.4  测试应用内购买  
    14.5  小结  

    第15章 找出程序中的bug--调试  
    15.1  Xcode调试工具  
    15.1.1  定位编译错误  
    15.1.2  查看和显示日志  
    15.1.3  设置和查看断点  
    15.1.4  调试工具栏  
    15.1.5  输出窗口  
    15.1.6  变量查看窗口  
    15.1.7  查看线程  
    15.2  日志与断言输出  
    15.2.1  使用NSLog函数  
    15.2.2  使用NSAssert宏  
    15.2.3  移除NSLog和NSAssert  
    15.3  LLDB调试工具  
    15.3.1  断点命令  
    15.3.2  观察点命令  
    15.3.3  查看变量和计算表达式命令  
    15.4  异常堆栈报告分析  
    15.4.1  跟踪异常堆栈  
    15.4.2  分析堆栈报告  
    15.5  在iOS设备上调试  
    15.5.1  创建开发者证书  
    15.5.2  设备注册  
    15.5.3  创建App ID  
    15.5.4  创建配置概要文件  
    15.5.5  设备调试  
    15.6  Xcode设备管理工具  
    15.6.1  管理设备配置概要文件  
    15.6.2  查看设备上的应用程序  
    15.6.3  设备控制台  
    15.6.4  设备日志  
    15.7  小结  

    第16章 基于测试驱动的iOS开发  
    16.1  测试驱动的软件开发概述  
    16.1.1  测试驱动的软件开发流程  
    16.1.2  测试驱动的软件开发案例  
    16.1.3  iOS单元测试框架  
    16.2  使用OCUnit测试框架  
    16.2.1  添加OCUnit到工程中  
    16.2.2  应用测试和逻辑测试  
    16.2.3  编写OCUnit测试方法  
    16.2.4  分析测试报告  
    16.3  使用GHUnit测试框架  
    16.3.1  添加GHUnit到工程  
    16.3.2  编写GHUnit测试用例  
    16.3.3  分析测试报告  
    16.4  使用伪对象  
    16.4.1  添加OCMock到工程  
    16.4.2  使用OCMock对象  
    16.5  iOS单元测试最佳实践  
    16.5.1  iOS单元测试策略  
    16.5.2  测试数据持久层  
    16.5.3  测试业务逻辑层  
    16.5.4  测试表示层  
    16.6  小结  

    第17章 让你的程序"飞"起来--性能优化  
    17.1  内存优化  
    17.1.1  内存泄漏问题的解决  
    17.1.2  查找和解决僵尸对象  
    17.1.3  autorelease的使用问题  
    17.1.4  响应内存警告  
    17.1.5  选择nib还是故事板  
    17.2  优化资源文件  
    17.2.1  图片文件优化  
    17.2.2  音频文件优化  
    17.3  延迟加载  
    17.3.1  资源文件的延迟加载  
    17.3.2  故事板和nib文件的延迟加载  
    17.4  数据持久化的优化  
    17.4.1  使用文件  
    17.4.2  使用SQLite数据库  
    17.4.3  使用Core Data  
    17.5  可重用对象的使用  
    17.5.1  表视图中的可重用对象  
    17.5.2  集合视图中的可重用对象  
    17.5.3  地图视图中的可重用对象  
    17.6  并发处理与多核CPU  
    17.6.1  主线程阻塞问题  
    17.6.2  选择NSThread还是GCD  
    17.7  编译器和编译参数  
    17.7.1  GCC、LLVM GCC与Apple LLVM比较  
    17.7.2  ARM架构  
    17.7.3  Optimization Level  
    17.8  小结  

    第18章 管理好你的程序代码--代码版本控制  
    18.1  概述  
    18.1.1  版本控制历史  
    18.1.2  基本概念  
    18.2  Git代码版本控制  
    18.2.1  服务器搭建  
    18.2.2  Gitolite服务器管理  
    18.2.3  Git常用命令  
    18.2.4  Git分支  
    18.2.5  Git协同开发  
    18.2.6  Xcode中Git的配置与使用  
    18.3  GitHub代码托管服务  
    18.3.1  创建和配置GitHub账号  
    18.3.2  创建代码库  
    18.3.3  派生代码库  
    18.3.4  使用GitHub协同开发  
    18.3.5  管理组织  
    18.4  小结  

    第19章 把你的应用放到App Store上  
    19.1  收官  
    19.1.1  添加图标  
    19.1.2  添加启动界面  
    19.1.3  调整Application Target属性  
    19.1.4  为发布进行编译  
    19.1.5  应用打包  
    19.2  发布流程  
    19.2.1  创建应用及基本信息  
    19.2.2  应用定价信息  
    19.2.3  最后信息输入  
    19.2.4  上传应用  
    19.3  常见审核不通过的原因  
    19.4  小结  

    第四部分 实战篇

    第20章 重构MyNotes应用--iOS网络通信中的设计模式与架构设计  
    20.1  移动网络通信应用的分层架构设计  
    20.2  基于委托模式实现  
    20.2.1  网络通信与委托模式  
    20.2.2  在异步网络通信中使用委托模式实现分层架构设计  
    20.2.3  类图  
    20.2.4  时序图  
    20.2.5  数据持久层的代码实现  
    20.2.6  业务逻辑层的代码实现  
    20.2.7  表示层的代码实现  
    20.3  基于观察者模式的通知机制实现  
    20.3.1  观察者模式的通知机制回顾  
    20.3.2  异步网络通信中通知机制的分层架构设计  
    20.3.3  类图  
    20.3.4  时序图  
    20.3.5  数据持久层的代码实现  
    20.3.6  业务逻辑层的代码实现  
    20.3.7  表示层的代码实现  
    20.4  小结  

    第21章 iOS敏捷开发项目实战--2016里约热内卢奥运会应用开发及App Store发布  
    21.1  应用分析与设计  
    21.1.1  应用概述  
    21.1.2  需求分析  
    21.1.3  原型设计  
    21.1.4  数据库设计  
    21.1.5  架构设计  
    21.2  iOS敏捷开发  
    21.2.1  敏捷开发宣言  
    21.2.2  iOS适合敏捷开发?  
    21.2.3  iOS敏捷开发最佳实践  
    21.3  任务1:创建应用基本工作空间  
    21.4  任务2:信息系统层与持久层开发  
    21.4.1  迭代2.1:编写数据库DDL脚本  
    21.4.2  迭代2.2:插入初始数据到数据库  
    21.4.3  迭代2.3:编写实体类  
    21.4.4  迭代2.4:DAO类GHUnit单元测试  
    21.4.5  迭代2.5:编写DAO类  
    21.4.6  迭代2.6:发布到GitHub  
    21.5  任务3:业务逻辑层开发  
    21.5.1  迭代3.1:比赛项目业务逻辑类GHUnit单元测试  
    21.5.2  迭代3.2:编写比赛项目业务逻辑类  
    21.5.3  迭代3.3:比赛日程业务逻辑类GHUnit单元测试  
    21.5.4  迭代3.4:编写比赛日程业务逻辑类  
    21.5.5  迭代3.5:发布到GitHub  
    21.6  任务4:表示层开发  
    21.6.1  迭代4.1:根据原型设计初步设计iPad故事板  
    21.6.2  迭代4.2:根据原型设计初步设计iPhone故事板  
    21.6.3  迭代4.3:首页模块  
    21.6.4  迭代4.4:比赛项目模块  
    21.6.5  迭代4.5:比赛日程模块  
    21.6.6  迭代4.6:倒计时模块表示层  
    21.6.7  迭代4.7:关于我们模块表示层  
    21.6.8  迭代4.8:发布到GitHub  
    21.7  任务5:收工  
    21.7.1  迭代5.1:添加图标  
    21.7.2  迭代5.2:设计和添加启动界面  
    21.7.3  迭代5.3:植入谷歌AdMob横幅广告  
    21.7.4  迭代5.4:性能测试与改善  
    21.7.5  迭代5.5:发布到GitHub  
    21.7.6  迭代5.6:在App Store上发布应用  
    21.8  小结
查看详情
系列丛书 / 更多
iOS开发指南:从零基础到App Store上架
第一行代码:Android
郭霖 著
iOS开发指南:从零基础到App Store上架
啊哈!算法
啊哈磊 著
iOS开发指南:从零基础到App Store上架
推荐系统实践
项亮 著
iOS开发指南:从零基础到App Store上架
深入浅出Node.js
朴灵 著
iOS开发指南:从零基础到App Store上架
SEO教程:搜索引擎优化入门与进阶(第3版)
吴泽欣 著
iOS开发指南:从零基础到App Store上架
Unity 3D游戏开发
宣雨松 著
iOS开发指南:从零基础到App Store上架
Go语言编程
许式伟 著
iOS开发指南:从零基础到App Store上架
iOS开发指南 从零基础到App Store上架(第3版)
关东升 著
iOS开发指南:从零基础到App Store上架
Docker 容器与容器云(第2版)
浙江大学SEL实验室 著
iOS开发指南:从零基础到App Store上架
深入React技术栈
陈屹 著
iOS开发指南:从零基础到App Store上架
JavaScript设计模式与开发实践
曾探 著
iOS开发指南:从零基础到App Store上架
Go并发编程实战(第2版)
郝林 著
相关图书 / 更多
iOS开发指南:从零基础到App Store上架
iOS黑客攻防秘籍 第2版
陈德
iOS开发指南:从零基础到App Store上架
iOS编程(第6版)
[美]Aaron Hillegass 著;王凤全 译;[美]Christian Keur
iOS开发指南:从零基础到App Store上架
iOS开发基础教程(Swift版)(第2版)
陈志峰;田英;翟高粤
iOS开发指南:从零基础到App Store上架
iOS开发案例教程(swift版)
孙志敏 田英
iOS开发指南:从零基础到App Store上架
iOS应用开发教程(微课视频版)
罗良夫
iOS开发指南:从零基础到App Store上架
iOS全埋点解决方案
王灼洲 著
iOS开发指南:从零基础到App Store上架
iOS 14开发指南
管蕾
iOS开发指南:从零基础到App Store上架
iOS应用逆向与安全之道
罗巍 著
iOS开发指南:从零基础到App Store上架
iOS项目开发实战(高等职业教育移动互联应用技术专业教材)
赵善龙 、刘俊驰 主编
iOS开发指南:从零基础到App Store上架
iOS开发基础入门与实战
张运生 著;郭敏强、蔡铁、郭敏强、蔡铁、张运生 编
iOS开发指南:从零基础到App Store上架
iOS面试一战到底
张益珲 著
iOS开发指南:从零基础到App Store上架
iOS程序员面试笔试真题库
蒋信厚 汪小发 楚秦