关于应用开发
概述
UIKit框架提供构架应用的核心对象。使用这些对象显示内容,同内容交互,同系统交互。应用的行为依赖于UIkit,并且UIKit提供多种方式给你来定制化行为以满足特殊的需求。
xcode提供创建项目的模版。 当构建应用的时候,xcode编译源文件,创建应用bundle。bundle是一个结构化目录,包含相关代码和资源。资源包括图片、storyboard文件、文本文件和应用metadata。
必要的资源
UIKit需要如下资源:
icons
启动storyboard
系统在主屏幕上、设置里、和其他需要区分出你的应用的地方显示图标。因为需要在不同地方,不同的设备上,所以需要提供不同的应用图标。应用图标应该具有很高的辨识度以便用户能够在主屏幕上快速的识别出来。但是你可能需要调整图标的细节以便在不同分辨率下都能正常显示。
LaunchScreen.storyboard文件包括应用的初始化界面,可以是一个闪屏或者真实的界面。当用户点击应用的图标,系统会马上显示启动界面,让用户知道应用已经在启动了。启动页面在启动过程中覆盖整个应用。当应用加载完成的时候,系统隐藏启动页面并显示真正的界面。
必要的应用metadata
系统从应用bundle中的info.plist中获取应用配置和能力信息。xcode为每个新项目模版提供一个预制的配置,但是一般需要修改其中的值。例如,如果应用依赖特殊的硬件或者使用特定的系统框架,可能需要增加相应的配置信息。
一个经常修改的点是在info.plist中声明需要的硬件和软件需求。包括应用运行的时候如何同系统通讯,例如导航应用可能需要GPU硬件支持来实现转弯指引。应用市场阻止不满足应用软件需求的设备安装应用。
UIKit应用的代码结构
UIKit提供很多核心的对象,包括系统交互、主事件循环,内容显示等。大多数时候直接使用或者稍作修改即可。了解哪些对象需要修改、什么时候修改对实现应用至关重要。
UIKit应用架构基于MVC设计,根据对象的含义来区分。模型对象管理应用的数据和业务逻辑。视图对象提供数据的可视化展现。控制对象是模型对象和视图对象的桥梁,在合适的时间移动数据。
下图展示一个典型的UIKit应用。提供模型对象代表应用的数据结构。UIKit提供大多数的视图对象,尽管可以按需自定义私有的视图。协调数据对象和UIKit视图对象的数据交换的是view controller和app delegate对象。
UIKit和Foundation框架提供很多基础的类型用于定义模型对象。UIKit提供UIDocument对象来管理硬盘数据。Foundation提供基本的对象表示字符串、数字、数组和其他数据类型。
UIKit提供位于controller和view层的对象。尤其是UIKit定义了UIView类以负责内容的显示。(你也可以使用Metal和其他系统框架直接渲染内容)。UIApplication对象执行应用的主事件循环并管理应用的生命周期。
Last updated
Was this helpful?