Summary for developers
打开 Xcode,选择「Create a new Xcode project」,选择模板并对项目进行相关设置。
模板
Multiplatform App
项目设置
项目存储地点和选择
创建完成
点击Create完成项目创建。
上下分别为运行 / 调试面板,左右分别为导航器 / 监视器面板,中部为主编辑面板。
负责 iOS 应用运行的 4 个文件
DemoApp.swift
应用程序入口
ContentView.swift
文件包含程序的 UI 信息
Assets.xcassets
所有媒体素材的存放地,如应用程序图标、颜色、图片、设计软件中导出的素材。
Info.plist
Property List 属性列表类型文件,负责存储一些信息,并负责与目标设备沟通应用程序的基本信息。
比如程序显示名是、是否支持横屏、为什么要申请使用相机等。
使用import 导入框架
使用 import SwiftUI
导入 SwiftUI,就可以使用 Swift 及 SwiftUI 的内容了。不同框架为程序提供了不同的预设功能。
@main是应用程序的起点
@main位于导入框架后与代码开始之前。
项目运行顺序:App > Scene > View
分类系统 Project - Target(项目与目标的关系)
Xcode 使用Project - Targets(项目 - 目标)分类系统 ,从而允许开发者将不同需求的资源从主项目中划分给不同目标。针对一个项目 Project(如 Demo),可以设定多个不同目标 Target(如 iOS 和 macOS)。
偏好设置
帐号登录:登录 Apple ID, 登录Git 远程版本管理工具( 如GitHub)。
报错提醒
一键修复
Fix(点击自动修复的前提是你理解为什么会出现这个错误)
显示原理
Apple 通过「为更高物理分辨率的屏幕使用放大系数」来处理 Pixel 像素点,使物理分辨率(Pixel)和设计分辨率(Point )脱钩。屏幕规格越高,物理分辨率密度越高的设备中,1 Point 所容纳的真实像素点数量更多。作为开发者,需要提供素材对应的 @1x、@2x、@3x 规格,保证应用程序在所有设备的屏幕上全部都能以最佳细节显示出来。
颜色
AccentColor(主题色 ,Any Appearance)- Universal
选中 AccentColor 后,在右侧的监视器面板中切换选项卡至「Attributes Inspector」中。在 Appearance 一栏中选择「Any, Dark」选项来开启一个深色模式下此颜色的新色块。
自定义颜色
在主面板 AccentColor 下方的空白区域右键选择「Color Set」可自定义颜色。
图片
使用导入的某张图片作为按钮的背景时,需要选择图片后调出右侧的「Attributes Inspetctor」面板,在「Render as」一栏中选择「Original Image」。
设计素材
使用第三方软件制作后导出成@1x、@2x、@3x。
按住 Option 按钮并点击屏幕上的任意关键词,快速查看文档,依次点击 Help - Developer Document 可以查看完整文档。
虚拟机调试
虚拟机调试是在 Mac 上直接运行程序的一种方式。每个版本的 Xcode 发布,都会自带与其系统版本匹配、机型不同的虚拟机。
虚拟机在运行时使用的设备本质还是 Mac,虚拟机无法模拟所显示设备的真实硬件情况。在真实硬件中,iPhone 设备的内存一般在 2-4GB 左右,iPad 设备的内存一般在 3-6GB 左右。这些硬件区别极为重要,但虚拟机运行时不会有任何提醒,你在使用虚拟机测试时务必将真实情况纳入考量。
当应用程序在虚拟机或真机运行时,你可以将 Xcode 左侧导航器面板切换到 Debug 选项卡中。在这个面板下,你可以看到应用程序当前使用的内存、CPU 占用量等信息。
真机调试
有线调试:使用数据线将真机接在 Mac 上。
无线设备调试无线:同一个 Wi-Fi ,设置 Window - Devices and Simulators - Connect via network。
将 Sketch 模版定义为模版类型,避免误修改 Sketch 模版文件
右键点击文件 Sketch 模版文件,点击「查看信息」,勾选「将此文件用作模版」即可。
将 SVG 图标导入 Sketch
取消圆角矩形蒙版
将图标导出到 Xcode 项目的AppIcon.appiconset中
更新 JSON 文件已保证图标自动链接
打开 Xcode 检查图标是否正确导出
测试图标
代码快速完成
输入代码时的智能预测
标签分页
双击不同文件,选中的文件以选项卡的形式出现在编辑器上方。
函数重命名
双击选中想要更改的名称,单击右键选择「Refactor - Rename」。
折叠条带
点击屏幕左侧的灰色条带,手动折叠条带标示区间的代码。
偏好设置中勾选「Text Editing - Display」中的「Code folding ribbon」显示折叠条带。
断点调试
可以在代码中设置多个不同中断点(Breakpoint ),并在它们中间来回跳转,以便找到离程序问题最近的位置。在 Xcode 中,你可以点击左侧代码行数来添加中断点,不再需要此中断点时,将它的图标从行数上拖出窗口即可删除。
快速导航条
点击条中的任意文件夹来快速切换当前主编辑器中显示的文件。
在已打开的代码文件中添加备注提醒等特殊标示,在开发者点击时快速跳转到文件中该备注的位置。标识符的具体使用格式为// 标识符: - 文本
。常用的标识符:
Library
点击右上角的「+」按钮,或者使用 Command + Shift + L
调出Library,通过拖拽添加所需素材。
Views:SwiftUI 界面搭建
Modifiers:SwiftUI 界面搭建
Snippets:Swift 中常用的各种语法结构
Media:包含图片等文件
Color:包含 Assets 文件夹中自定义的所有颜色
Canvas
使用快捷键 ⌥ ⌘ Enter
开启画布(Canvas)显示, 快速、直观的预览代码(静态与实时预览)。画布专为 SwiftUI 服务,其顶部有 4 个按钮,分别是预览、在设备上运行、属性、增加预览。
点击Resume
可更新预览静态视图,点击Live Preview
开启具有互动效果的实时预览。
ContentView_Previews: PreviewProvider
要求 Xcode 在画布界面显示 ContentView 的预览,画布由此生成右侧代码预览。
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
Source Control(顶部,版本管理菜单)
Cherry-Pick
从已提交的、可能是其它分支的提交历史中,挑选出部分内容,并将其提交至当前分支中。
Stash
暂存已修改、但未提交的内容
Discard
遗弃已修改、但未提交的内容(一次性删除)
Source Control Navigator(左侧,版本管理导航器)
Branches、Tags、Remotes、Stashed Changes
Code Review(右上,版本对比按钮)
Xcode 使用蓝色竖条和 M 字母提醒未 Commit 的内容
选择菜单栏 「Window - Devices and Simulators」,选择应用运行的设备和查看沙盒的应用后,点击下方齿轮按钮,选择「Download Container」并存储。
存储好的沙盒信息为 XXX.appdata
,右击该文件并选择「Show Package Content」。在打开的文件中,选择「AppData - Documents」即可查看沙盒内容。