了解UIKit和Xcode为你的iOS和tvOS应用程序提供基础支持。

概述

UIKit框架为你提供了构建iOS和tvOS应用程序所需的核心对象。你可以使用这些对象在屏幕上展示内容,于内容交互,以及管理与系统的交互。应用程序的基本行为依赖于UIKit,UIKit为你的定制话行为提供了多种方法以便满足你的特殊需求。

重要

你只能在Apple提供的集成开发环境Xcode中创建一个项目,来开始你的iOS或tvOS应用开发。

如果你没有Xcode你可以在应用市场下载,也可以在developer.apple.com中下载最新版本呢。

Xcode提供模板项目作为你每个一个应用的起点。例如:Figure 1展示了使用Xcode中的单视图应用模板创建的应用结构。模板项目提供最小的用户界面,因此你可以立即构建和运行项目,并在设备或模拟器中查看结果。

Figure1 单视图iOS应用程序的结构:

构建应用程序时,Xcode会编译源文件并为你的项目创建应用程序包。一个应用程序包是一个结构化目录,其中包含与应用程序关联的代码和资源。资源包括代码支持的图片资源,故事板文件,字符串文件和应用元数据。应用程序包的结构很重要,但Xcode知道你的资源需要去哪儿,因此现在不需要担心。

所需资源

每个UIKit应用程序都需要具备一下资源:

  • 应用程序图标
  • 启动屏幕的故事面板

系统会在主屏幕上、设置中和任何需要它区分你的应用和其它应用的地方显示你的应用图标。因为它会在多个地方多个设备上使用,你需要提供多种应用图标版本放在你的Xcode项目AppIcon图像资源中。你的应用图标应该很独特,以帮助用户在主屏幕上快速识别你的应用。但是,你可以改变图标的细节,以适应你必须提供的不同图像的尺寸。

Figuar2 为iOS应用程序提供图标

LaunchScreen.storyboard文件包含应用程序的初始用户界面,它可以是启动画面或实际界面的简化版本。当用户点击你应用的图标时,系统会立即显示你的启动屏幕,让用户知道你的应用程序正在启动。启动屏幕为正在启动中的应用程序提供遮挡。当你的应用程序准备好了,系统会隐藏启动屏幕并显示你的应用程序实际界面。

必须的应用程序元数据

系统从应用程序包中的信息属性列表(Info.plist)文件中获取有关应用程序配置和功能的信息。Xcode为每个新项目模板提供了这个文件的预配置版本,但时你可能需要在某个时候修改这个文件。例如。如果你的应用程序依赖于某个特定硬件,或者使用特定的系统框架,你可能需要将这些功能相关的信息添加到这个文件中。

你可以对info.plist 文件进行常见的修改是声明应用程序的硬件和软件要求。这些要求是如何向系统传达应用程序需要运行的内容。例如:导航应用程序可能需要GPS硬件提供转弯方向。App Store防止应用程序安装在不符合应用程序要求的设备上。

Figure3 声明你的应用程序硬件和软件要求

有关可以包含在Info.plist文件中的键的信息请查看信息属性列表

UIKit应用程序的代码结构

UIKit提供应用程序的许多核心对象,包括与系统交互、运行应用程序的主事件循环以及在屏幕上显示你的内容。大部分对象你可以直接使用,你也可以对它们进行细微的修改。了解要修改哪些对象以及何时修改它们,对于实现应用程序至关重要。

UIKit应用程序的结构基于模型-视图-控制器(MVC)设计模式,其中对象按其用途划分。模型对象管理应用程序的数据和业务逻辑。视图对象提供数据的可视化表示。控制器对象充当模型和视图对象之间的桥梁,在适当的时候在它们之间移动数据。

Figure4 表示UIKit应用程序的一个相当典型的结构。你提供了代表应用程序数据结构的模型对象。UIKit提供大部分视图对象,尽管你可以根据需要为数据定义自定义的视图对象。你的视图控制器和应用委托对象负责协调数据对象和UIKit视图之间的数据交换。

Figure4 核心应用程序对象

UIKit和Foundation框架提供了许多用于定义应用程序模型对象的基本类型。UIKit提供一个UIDocument对象,用于组织基于磁盘的文件中的数据结构。Foundation框架定义了表示字符串,数字,数组和其他数据类型的基本对象。Swift标准库提供了许多在Foundation框架中可用的相同类型。

UIKit提供了应用程序的控制器和视图层大多数对象。 具体说,UIKit定义了UIView类,它通常负责屏幕上显示你的内容。(您还可以使用Metal和其他系统框架将内容直接呈现到屏幕。 ) UIApplication对象运行应用程序的主事件循环,并管理应用程序的整个生命周期。

原文链接

About App Development with UIKit