46、Mac OS X 开发:Xcode 工具全解析

Mac OS X 开发:Xcode 工具全解析

1. 开发者会员选择

专业软件开发人员可能需要更多支持和预发布软件等资源。苹果为此提供了付费的 Select 和 Premier ADC 会员服务。不过,对于一般开发者而言,免费的在线会员就足够了。但要是你打算以此为生,升级会员还是很值得的。

2. 安装 Xcode 工具

安装 Xcode 工具(统称为 Xcode Tools)的步骤如下:
1. 插入 Leopard 安装 DVD,无论是零售升级版本还是随机器附带的恢复版本均可。
2. 导航到 Xcode Tools 文件夹,然后双击 XcodeTools.mpkg 包,这将启动安装程序。
3. 注意安装过程中不要忽略容易错过的“Customize”按钮。默认情况下,有几个可选安装项已被选中:
- 展开 Xcode IDE and Tools 部分,会看到 Core Reference Library 和 Examples,这些很有用;但 Dashcode 和 Java Documentation 除非你分别打算开发 Dashboard 小部件或 Java 应用程序,否则完全不需要。
- Xcode System Tools 部分相对复杂一些:
- Distributed Builds Engine 可让你创建临时超级计算机进行编译,但仅适用于大型项目开发且电脑连接到参与运行的机器网络的开发者,普通开发者可忽略。
- Analysis & Performance Tools 和 Command Line Support 很实用;而 Mac OS X 10.3.9 Support 和 WebObjects 除非你有特定需求,否则无需勾选。
4. 如果你之后发现应该安装某个工具,不用担心,可以再次运行安装程序添加额外组件。
5. 传统上,开发者工具安装在根目录下的 /Developer 目录中,与 /Applications 目录相邻,且 Xcode 只能安装在启动磁盘上。不过 Leopard 允许你选择自己的安装目标,但除非你有特殊需求,否则建议使用默认设置。
6. 配置好所有设置后,点击“Install”,如有提示进行身份验证,然后就可以去休息一下了。
7. 没有光盘也没关系,你可以从 ADC 网站下载最新版本的开发者工具。

以下是安装步骤的 mermaid 流程图:

graph LR
    A[插入 Leopard 安装 DVD] --> B[导航到 Xcode Tools 文件夹]
    B --> C[双击 XcodeTools.mpkg 包]
    C --> D{是否点击 Customize 按钮}
    D -- 是 --> E[选择可选安装项]
    D -- 否 --> F[使用默认安装项]
    E --> G[配置安装设置]
    F --> G
    G --> H[点击 Install]
    H --> I{是否需要身份验证}
    I -- 是 --> J[进行身份验证]
    I -- 否 --> K[完成安装]
    J --> K
3. Xcode 简介

进入新创建的 Developer 目录,会发现有很多内容,但除了 Applications 子目录外,其他大多是供 Xcode 自身使用的,除非你有特殊需求,否则直接进入 Applications 目录。

Xcode 是集成开发环境,它集编辑器、编译器和调试器功能于一体,基于开源工具构建,但拥有易于使用的界面。它还可作为项目管理器和研究助手,能集成访问头文件和文档。Leopard 系统对 Xcode 进行了重大改进。

4. Xcode 偏好设置

首次启动 Xcode 时,会被询问一些设置环境的问题,不过不用担心,你可以在“Preferences”窗口中随时更改这些设置。通过选择应用程序菜单中的“Preferences…”或键入标准快捷键 Cmd +, 可打开 Xcode 的偏好设置窗口。

偏好设置分为多个组,滚动显示在窗口顶部:
| 类别 | 设置内容 |
| ---- | ---- |
| General | 调整窗口的位置和分组;勾选“Automatically clear log”可在运行之间清除控制台。 |
| Code Sense | 使用 Esc 键请求代码补全,也可启用自动补全并设置延迟;决定是否在建议或补全中显示参数;设置编辑器函数弹出列表的显示和排序。 |
| Building | 设置构建产品和临时文件的位置;决定是否以及如何显示构建、错误和警告日志;设置 Leopard 新的错误和警告气泡的显示位置和方式;决定是否进行预测性编译或在有错误时编译;调整自动保存设置。 |
| Distributed Builds | 决定是否以及如何使你的机器可用于 Xcode 的分布式构建系统;决定是否以及将自己的构建发送给谁进行分发;分布式构建仅适用于大型项目和高速网络。 |
| Debugging | 选择调试器使用的颜色;设置调试器的显示方式和时间;调整符号和汇编显示选项;决定是否启用 Leopard 的新编辑器内调试功能。 |
| Key Bindings | 设置菜单项和其他功能的可自定义快捷键;有预建组可让 Xcode 模拟其他编辑器。 |
| Text Editing | 切换编辑器功能,如边栏、行号、列、页面指南以及 Leopard 的新代码折叠和代码聚焦功能;设置围绕括号的选择行为;设置默认行结尾和文本编码。 |
| Fonts & Colors | 设置编辑器为每个语法元素使用的字体和颜色;有可自定义的设置,但主要是为了增强视觉效果。 |
| Indentation | 决定使用制表符还是空格,以及它们的宽度和数量;决定是否以及如何软换行文本;决定是否以及如何应用自动缩进。 |
| File Types | 设置文件类型的映射以及为每种类型使用的编辑器;Xcode 可与多个外部编辑器一起使用。 |
| Opening Quickly | “Open Quickly”命令允许通过选择或键入文件名来打开文件,而不是通过导航“Open”对话框;“Opening Quickly”是该命令搜索的可自定义目录列表。 |
| Source Trees | Source Trees 是根文件系统上的全局目录,Xcode 将在其中查找项目文件和资源;通过 Source Trees 偏好面板进行管理。 |
| SCM | SCM 代表源代码管理(版本控制);Xcode 支持 CVS、Perforce 和 Subversion;在 Repositories 选项卡中添加项目服务器;Options 选项卡包含诸如用于差异比较的编辑器选择和是否自动保存等偏好设置。 |
| Documentation | 此面板实际上包含文档的各种位置,Xcode 的文档系统很棒,但选项不在此面板中,一般很少需要更改这些设置。 |

除了偏好设置面板,Xcode 还有许多隐藏的偏好设置,有些基于范围(如不同的项目和目标设置),有些基于传统操作(如右键或 Ctrl + 点击工具栏编辑其配置)。总之,Xcode 功能强大、高效且可无限配置,如果你想对其进行特定设置,不要以为找不到就不存在,很可能只是隐藏在某个不显眼的地方。

5. 文档使用

设置好 Xcode 后,会出现新的“Welcome to Xcode”窗口。该窗口不仅汇集了使用 Xcode 编程所需的一切,还通过 RSS 聚合提供最新的新闻和文档,将基于网络的文档的准确性和及时性与在 Xcode 中直接获取文档的便利性和可访问性相结合。

点击“A Quick Tour of Xcode”不仅能让你熟悉 Xcode,还能让你认识新的好帮手——文档窗口。在 Leopard 系统中,这个窗口经过了重大重新设计。

除了通过“Welcome to Xcode”窗口,还有其他几种方式可以打开文档窗口:
- 在 Xcode 编辑器中,按住 Option 键并双击某个术语,会自动在文档窗口中搜索该术语。
- 从“Help”菜单中选择“Documentation”,也可以通过键盘键入 Option + Cmd +? 来启动它。操作方法是用左手按下相邻的 Option 和 Cmd 按钮,右手按下相邻的? 和 Shift 按钮。

文档窗口的操作很直观:
1. 在搜索框中输入搜索词。
2. 使用工具栏下方的选项细化搜索。
3. 搜索结果会在表格视图中显示、排序和选择。
4. 所选文档会在下方的网页视图中显示,或根据情况在外部编辑器中显示。
5. 侧边栏包含文档集和书签。

Leopard 还引入了“Research Assistant”,这是一个浮动的文档窗口,旨在在你编码时保持打开状态。你可以从“Help”菜单或通过可选的工具栏图标激活它。当你点击某个术语时,“Research Assistant”会提供特定上下文的帮助。

以下是访问文档窗口的操作步骤列表:
| 访问方式 | 操作步骤 |
| ---- | ---- |
| 通过欢迎窗口 | 打开“Welcome to Xcode”窗口,点击“A Quick Tour of Xcode” |
| 在编辑器中 | 按住 Option 键,在编辑器中双击术语 |
| 通过菜单和快捷键 | 从“Help”菜单选择“Documentation”或按 Option + Cmd +? |

6. 项目组织

Xcode 将项目组织成名为“projects”的包。要在 Xcode 中创建新项目,可以从“File”菜单中选择“New Project…”,或键入 Shift + Cmd + N,这将启动“Project Assistant”。

“Project Assistant”会提供一长串项目模板,分为以下几类:
- Empty Project :创建一个不应用任何模板的 Xcode 项目。
- Action :包含使用 AppleScript、Cocoa 或 Shell Script 创建 Automator 操作的模板,以及定义新数据类型的模板。
- Application :包含创建 AppleScript 应用程序、C 或 C++ 的 Carbon 应用程序、Objective - C、Ruby 或 Python 的 Cocoa 应用程序的模板。除了基本应用程序模板,还有基于文档的应用程序和 AppleScript 拖放文件的模板,以及专门用于创建由 Core Data 支持的 Cocoa 应用程序的模板。
- Audio Units :包含在 Carbon 和 Cocoa 中创建 Core Audio 插件(即 Audio Units)的模板。
- Bundle :有 Carbon、Cocoa 和 C++ 的通用捆绑模板,可用于创建自己的插件或其他未被其他模板专门涵盖的捆绑类型。
- Command Line Utility :包含在 Darwin 中运行的非图形程序的模板,有使用 Core Foundation、Foundation 和 Core Services 编写程序的特定模板,以及用 C 和 C++ 编写实用程序的通用模板。
- Dynamic Library :动态库是可在运行时加载的可重用代码包,Xcode 有 Carbon、Cocoa、Ruby、BSD 和 C++ 的动态库模板。
- External Build System :这个通用模板允许开发者使用 Xcode 组织和编辑程序,但使用自己的构建系统。
- Framework :Cocoa 框架类似于动态库,但除了代码还可以包含其他资源,如媒体文件或 Interface Builder 的 nib 文件,并且有内置的版本控制。
- Java :包含创建 Java 小程序和工具、标准 Java 应用程序、Java Native Interface 应用程序和 Java Web Start 应用程序的模板。
- Kernel Extension :包含创建操作系统内核扩展的模板,除了通用模板,还有使用 IOKit 创建设备驱动程序的模板。
- Quartz Composer :Quartz Composer 合成是图形和编程逻辑的包,可单独使用或在其他应用程序中使用,Xcode 为围绕这些合成构建的应用程序和插件提供了几个模板。
- Standard Apple Plug - ins :许多 Apple 应用程序有插件架构,Xcode 为 Address Book、Xcode、Dashcode、Interface Builder 和 Web Kit 提供插件模板,还有创建捆绑的 Core Image 过滤器、偏好面板、屏幕保护程序和同步模式的模板,以及为自定义数据类型创建 Spotlight 和 Quick Look 插件的模板。
- Static Library :静态库是编译时必须链接的可重用代码包,Xcode 有 Carbon、Cocoa 和 BSD 的静态库模板。

创建新项目的流程如下:

graph LR
    A[选择 New Project… 或按 Shift + Cmd + N] --> B[启动 Project Assistant]
    B --> C{选择项目模板类别}
    C -- Empty Project --> D[创建空项目]
    C -- Action --> E[创建 Automator 操作项目]
    C -- Application --> F[创建应用程序项目]
    C -- Audio Units --> G[创建 Core Audio 插件项目]
    C -- Bundle --> H[创建捆绑项目]
    C -- Command Line Utility --> I[创建命令行实用程序项目]
    C -- Dynamic Library --> J[创建动态库项目]
    C -- External Build System --> K[创建使用外部构建系统的项目]
    C -- Framework --> L[创建 Cocoa 框架项目]
    C -- Java --> M[创建 Java 项目]
    C -- Kernel Extension --> N[创建内核扩展项目]
    C -- Quartz Composer --> O[创建 Quartz Composer 相关项目]
    C -- Standard Apple Plug - ins --> P[创建 Apple 插件项目]
    C -- Static Library --> Q[创建静态库项目]

以创建一个名为“Hello World”的 Cocoa 基于文档的应用程序为例,在“Project Assistant”窗口中选择相应模板后,会提示你为项目命名并选择位置。可以在主文件夹中创建一个“~/Projects”文件夹,并根据自己的工作风格进行细分。

Xcode 的项目窗口垂直分为两个视图:
- 左侧是“Groups & Files”侧边栏,以逻辑层次结构组织项目。
- 右侧是详细信息视图,显示侧边栏中所选内容的更多信息。实际上,右侧面板还水平分割,底部中央有一个小点,用鼠标拖动该点可显示编辑器视图,也可以通过在侧边栏中选择源代码文件或点击编辑器工具栏项来显示编辑器。

项目侧边栏中的智能组如下:
| 智能组 | 功能说明 |
| ---- | ---- |
| Project Structure | 显示名称与项目名称相同,默认包含几个子组,用于组织项目的源代码和资源,但这些组与实际文件夹不一定相关,仅为方便组织。 |
| Targets | Xcode 的构建系统按目标组织,目标包含创建构建产品所需的步骤,默认项目通常只有一个目标,复杂项目可能有多个。 |
| Executables | 项目的可执行产品(如“Hello World”应用程序)保存在此组中,选择可执行文件后按 Cmd + I 可打开可执行文件检查器设置参数,默认项目通常只有一个可执行文件。 |
| Errors & Warnings | 列出所有有错误或警告的文件,直到下一次编译,方便在大量文件修改后查看问题文件。 |
| Find Results | 保存所有“Project Find”搜索结果,在大型项目中可节省搜索时间。 |
| Bookmarks | 可通过右键或 Cmd + 点击文件并选择“Add to Bookmarks”来标记文件,标记的文件会显示在此组中,方便在大型项目中导航。 |

相关推荐

STM32F407与AD7766实战:如何用SPI+DMA实现高速ADC数据采集(附完整代码)

本文详细介绍了如何利用STM32F407的SPI接口与DMA控制器,高效稳定地驱动24位高精度ADC芯片AD7766,实现高速连续数据采集。通过对比传统中断方式的瓶颈,阐述了SPI+DMA方案如何大幅降低CPU负载,并提供了从硬件设计、CubeMX配置到核心驱动代码的完整实战指南,帮助工程师解决高速ADC数据采集中的性能难题。

weixin_29281941的博客 185

MTK Tunning ISP 模块面试总结

ISP面试问答

m0_72053187的博客 4537

IC设计新手必看:如何正确使用去耦电容(decap)避免电源噪声?

本文深入探讨了IC设计中去耦电容(decap)的应用技巧,从核心原理到布局实现,帮助新手工程师有效抑制电源噪声。文章详细解析了MIM、MOM等电容类型的特性与选择策略,并提供了先进的布局技巧和验证方法,特别适用于28nm以下先进工艺的电路设计挑战。

weixin_30555125的博客 114

[GXYCTF2019]BabyUpload1 -- .htaccess文件解析与蚁剑实战指南

本文深入解析了[GXYCTF2019]BabyUpload1文件上传漏洞的实战利用。通过绕过后缀名与内容检测,上传包含PHP代码的.jpg文件,并利用.htaccess文件强制服务器将其解析为PHP脚本。文章详细介绍了.htaccess的原理、构造方法、Content-Type绕过技巧,并演示了如何使用中国蚁剑连接Webshell获取Flag,为Web安全学习提供了完整实战指南。

weixin_29016315的博客 508

【实战分享】构建企业级RAG(Retrieval-Augmented Generation)知识库的全面实践

大模型指的是训练参数量极其庞大的深度学习模型,如GPT-3、GPT-4等。这些模型能够通过海量的数据学习,具备强大的语言理解和生成能力。在问答系统中,大模型能够理解用户提出的问题,并生成相关的回答。"""添加文档向量"""pass"""相似度检索"""pass"""获取页面分段"""passMilvus是一个开源的向量数据库,专为高效的向量存储和检索设计。Milvus支持多种索引方式(如IVF、HNSW等),并提供高效的查询和检索功能。索引构建:Milvus通过创建索引加速查询速度。

后端研发工程师Marion的博客 5925

JavaFX Stage

JavaFXStagejavafx.stage.Stage表示 JavaFX 桌面应用程序中的窗口。在 JavaFX 内部,Stage您可以插入一个 JavaFX Scene,它表示在窗口内显示的内容 - 在Stage.当 JavaFX 应用程序启动时,它会创建一个根Stage对象,该对象将传递给 start(Stage primaryStage)JavaFX 应用程序的根类的方法。此Stage 对象代表 JavaFX 应用程序的主窗口。

2012年开始工作,全栈开发老兵,目前已是一个老师,分享这么多年的心得体会 507

RK3588高速接口实战-PCIE

摘要: RK3588的PCIe接口支持PCIe 3.0x4和PCIe 2.1x1/x2,具备Root Complex和Endpoint模式,适用于NVMe SSD、5G模块等高速设备。硬件设计需注意85Ω/100Ω阻抗匹配、220nF AC耦合电容及100MHz参考时钟。设备树需配置控制器节点、PHY模式和IOMMU映射(RC模式用iommu-map,EP模式用iommus)。调试时可通过lspci检查链路状态,dmesg查看训练日志,perf分析性能。常见问题包括设备识别失败(检查复位时序、PHY配置)、

weiyvyy的博客 500

2026华为OD机试(C++)真题【E卷+A卷+B卷+C卷+D卷】目录+在线OJ

华为OD机试真题题库【E卷+A卷+B卷+C卷+D卷】目录,C++实现。

MISAYAONE的博客 20万+

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

上一篇: 83、编程基础与高级概念综合解析
下一篇: 10、生物信息学中的染色体分类与特征提取技术
zero1
博客等级 码龄24年 951粉丝 1198原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值