文/彭挺(简书作者)
原文链接:http://www.jianshu.com/p/53d223db9447
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
马上着手开发 iOS应用程序 (Start Developing iOS AppsToday)https://developer.apple.com/library/ios/referencelibrary/GettingStarted/RoadMapiOSCh/WhereToGoFromHere.html#//apple_ref/doc/uid/TP40012668-CH12-SW1
iOS技术概览
https://developer.apple.com/library/ios/documentation/Miscellaneous/Conceptual/iPhoneOSTechOverview/Introduction/Introduction.html#//apple_ref/doc/uid/TP40007898
App Extensions Increase Your Impact
https://developer.apple.com/library/ios/documentation/General/Conceptual/ExtensibilityPG/index.html#//apple_ref/doc/uid/TP40014214
UIDocumentPickerViewController
https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIDocumentPickerViewController_Class/index.html#//apple_ref/occ/cl/UIDocumentPickerViewController
Handoff Programming Guide
https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/Handoff/HandoffFundamentals/HandoffFundamentals.html#//apple_ref/doc/uid/TP40014338
Document Picker Programming Guide
https://developer.apple.com/library/ios/documentation/FileManagement/Conceptual/DocumentPickerProgrammingGuide/Introduction/Introduction.html#//apple_ref/doc/uid/TP40014451
1)注册为开发者。
《App Distribution Guide》(应用程序分发指南)中的“ManagingAccounts”(管理帐户)会带您逐步完成注册为 Apple 开发者的过程。学习设计美观的应用程序界面。
《iOS Human Interface Guidelines》(iOS 用户界面指南)会指导您如何让应用程序符合 iOS 用户界面规范。
2)学习语言。
《Programming with Objective-C》(使用Objective-C编程)描述了如何使用Objective-C程序设计语言定义类、发送消息、封装数据,以及完成各种其他任务。学习开发优秀的应用程序。
《App Programming Guide for iOS》(iOS应用程序编程指南)讲解了在开发iOS应用程序时,您必须要了解并做到的基本事项。了解可用的技术。《iOS Technology Overview》(iOS技术概述)介绍了可以在iOS应用程序中使用的框架和其他技术。
3)浏览文稿。
“查找信息”讲解了如何充分利用所提供的文稿。
(1)调试并测试您的应用程序。
《Xcode Overview》(Xcode概述)中的“Debug Your App”(“调试您的应用程序”)会教您如何在Xcode中彻底调试和测试应用程序。
(2)发布应用程序。
《App Distribution Guide》(应用程序分发指南)会带您逐步完成这些过程:预备测试设备,提交应用程序到 AppStore。4)用户界面
iOS具有许多框架和技术,用于创建和润色应用程序的用户界面。
[1]UIKit
UIKit框架提供的类可用于创建触摸式用户界面。所有 iOS 应用程序都基于 UIKit,因此您无法在没有框架的情况下交付应用程序。UIKit提供基础结构,用于在屏幕上绘图、处理事件,以及创建通用用户界面元素。通过管理屏幕上显示的内容,UIKit 还能组织复杂的应用程序。有关更多信息,请参阅《UIKit Framework Reference》(UIKit 框架参考)。
[2]Core Graphics
Core Graphics 是一种基于 C语言的低层次框架,在处理高品质矢量图形、基于路径的绘图、变换、图像和数据管理等方面,它将是您的得力助手。当然,在 iOS中创建图形,最简而有效的方法是将预渲染的图像与 UIKit 框架的标准视图和控制配合使用,并让 iOS 完成绘图。毕竟,UIKit是一种高层次的框架,它同时还提供用于自定绘图的类,包括路径、颜色、图案、渐变、图像、文本和变换,请尽可能地使用它们来代替 CoreGraphics。有关更多信息,请参阅《Core Graphics Framework Reference》(Core Graphics 框架参考)。
[3]Core Animation
Core Animation 是一种能让您制作高级动画和视觉效果的技术。UIKit 提供的动画,是建立在 CoreAnimation 技术之上的。如果您需要超出 UIKit 功能的高级动画,可以直接使用 Core Animation。Core Animation接口包含在 Quartz Core 框架中。借助 CoreAnimation,您将能创建不同层次的层对象,并对它们进行操控、旋转、缩放、变换等等。通过使用大家所熟悉的 Core Animation视图式抽象,您可以创建动态用户界面,而无需使用底层的图形 API,如 OpenGL ES 等。有关更多信息,请参阅《Core Animation Programming Guide》(Core Graphics 框架参考)。
[4]游戏
Game Kit。GameKit 框架提供了排行榜、成就和其他功能,可添加到 iOS 游戏中。有关更多信息,请参阅《GameKit Framework Reference》(Game Kit 框架参考)。Sprite Kit。Sprite Kit 框架在使任意纹理图像或角色产生动画效果方面提供图形支持。它不仅是一台图形引擎,还能提供物理支持使对象变得更加生动。对于游戏和其他要求复杂动画链的应用程序,SpriteKit 不失为一个好的选择。(其他类型的用户界面动画,则可使用 Core Animation 代为处理。)有关更多信息,请参阅《SpriteKit Programming Guide》(Sprite Kit 编程指南)。
OpenGL ES。OpenGL ES 是一种底层框架,它为硬件加速的 2D 和 3D 绘图提供工具支持。Apple 实施的 OpenGL ES标准,能与设备硬件紧密协作,从而为全屏幕游戏类应用程序提供很高的帧速率。OpenGL ES 是一种底层的、专注于硬件的API,因此具有较高的学习难度,并将对您的应用程序的整体设计产生显著影响。(对于要求高性能图形以用于更多特定用途的应用程序,请考虑使用 Sprite Kit或 Core Animation。)有关更多信息,请参阅《OpenGL ES Programming Guide for iOS》(iOS 的 OpenGL ES 编程指南)。
Game Controller。Game Controller 框架能让您快速找到接入 Mac 或 iOS设备的控制器。在设备上找到控制器后,您的游戏会将控制输入读取为正常游戏设置的一部分。这些控制器为玩家操作游戏提供了新的方式。Apple具有为硬件控制器专设的技术规格,以确保控制器的控制元素类别一致,玩家和游戏设计者们均可以此为依据。有关更多信息,请参阅《Game Controller Framework Reference》(Game Controller 框架参考)。
4)数据
[1]Core Data。Core Data 框架管理应用程序的数据模型。借助 CoreData,您可以创建模型对象(称为被管理的对象)。管理那些对象之间的关系,并通过框架更改数据。Core Data 利用内建的 SQLite技术,高效地储存和管理数据。有关更多信息,请参阅《Core Data Framework Reference》(Core Data 框架参考)。
[2] Foundation。您已在本指南的前文中接触过 Foundation。Foundation 框架定义了 Objective-C类的最底层。除了提供一组基本且实用的对象类,本框架还介绍了数个范例来阐明 Objective-C语言中未涉及的行为。与其他框架相比,本框架包括了表示基本数据类型的类(如字串和数字),以及用于储存其他对象的集类。有关更多信息,请参阅《Foundation Framework Reference》(Foundation 框架参考)。
[3]Media框架提供多种功能,用于处理应用程序中的音频和视频。AV Foundation。AV Foundation 可用于播放和创建基于时间的音频视觉媒体,是数个具有该功能框架中的一个。例如,您可以使用 AVFoundation来检查、创建、编辑媒体文件,或对其进行重新编码。您还可以通过它获取设备的输入流,以及在实时捕捉和回放过程中处理视频。有关更多信息,请参阅《AV Foundation Framework Reference》(AV Foundation 框架参考)。