Xcode 常用设置

本文详细介绍了如何配置Xcode,包括main文件注释、main函数设置、AppDelegate默认代码的修改,以及自定义代码段的创建。还涵盖了添加SDK版本、模拟器版本管理、离线文档设置和Xcode主题配置等内容,旨在提升开发效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、main 文件注释

  • 1)main 文件注释修改路径

    • /Applications/Xcode.app/Contents/Developer/Library/Xcode/Templates/Project Templates/Base/Base.xctemplate/TemplateInfo.plist
  • 2)示例设置文件

2、main 函数配置

  • 1)main 文件中 main 函数默认配置修改路径

    • /Applications/Xcode.app/Contents/Developer/Library/Xcode/Templates/Project Templates/Mac/Application/Command Line Tool.xctemplate/TemplateInfo.plist
  • 2)示例设置文件

3、AppDelegate 默认代码

  • 1)AppDelegate.m 文件中

    -(BOOL)application:(UIApplication *)application 
          didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
  • 2)application:didFinishLaunchingWithOptions: 方法内默认代码的修改路径

    • /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/Project Templates/Application/Empty Application.xctemplate/TemplateInfo.plist
  • 3)示例设置文件

4、自定义代码段

5、空模板

  • 1)在 Xcode 中添加空模板

    • 因为 Xcode5 或低于该版本的部分 Xcode 都有空模板(Empty Application.xctemplate),拷贝其中的空模板,粘贴到 Xcode6 或所需要版本的 Xcode 模版路径中即可。

    • 1> 低于 6 版本 Xcode 的模板路径:

      • /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/Project Templates/Application/Empty Application.xctemplate/
    • 2> 高于 6 版本 Xcode 的模板路径:

      • /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/Project Templates/iOS/Application/Empty Application.xctemplate/
  • 2)Xcode 空模板文件

6、添加 SDK 版本

  • 1)Xcode 中相应版本的 SDK 文件存放路径

    • /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/
  • 2)Xcode SDK 各版本

7、添加模拟器版本

7.1 模拟器添加

  • 1)在 Xcode5 和之前的版本中,安装模拟器 SDK 就等于安装了模拟器。Xcode 中模拟器 SDK 文件存放路径

    • /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/
  • 2)在 Xcode6 和之后的版本中,新版的 Xcode 并不会识别 SDKs 目录下的模拟器,需要将模拟器文件要放在这个目录下

    • /Library/Developer/CoreSimulator/Profiles/Runtimes/

    • 这个目录是根目录,不在 Xcode 和 User 的目录下,而且与旧版的模拟器不同,新版模拟器是以 simruntime 为后缀打包的文件。新版的 Xcode 软件安装时仍会创建相应版本的 SDK 文件,不会创建相应的 simruntime 文件。

  • 3)如果遇到模拟器版本号显示异常的问题,如下图,只需要在 Xcode 的 Devices 里将多余的相同版本的模拟器删除即可。

    993906-20180309001358862-1201066846.png

  • 4)Xcode 模拟器各版本下载地址,密码:x9pt。

7.2 模拟器路径

  • 1)在 Xcode5 和之前的版本中,Xcode 的模拟器路径为

    • ~/Library/Application Support/iPhone Simulator/

    • 在该文件夹下,可以查看到所有的模拟器版本,点进去后,可查看应用沙盒情况。
    • 在开发中,建议将文件拖动快捷路径到 Finder 左侧个人收藏下,可以方便打开查看应用沙盒。

  • 2)在 Xcode6 和之后的版本中,将模拟器的位置进行了变更,地址如下

    • ~/Library/Developer/CoreSimulator/Devices/

    • 打开后会发现如下情况:在这里,苹果对模拟器进行了编码处理,并不是以模拟器系统版本进行的命名和分类,而是对 Xcode6 中所有的模拟器进行的区分,里面的文件夹分别对应 Xcode6 中的不同模拟器。

    • 选中某个文件后,打开会看到一个名为 data 的文件夹,和 device.plist 的配置文件,打开 device.plist 的配置文件后,会看到模拟器的 UDID、设备类型、系统版本、名称等。通过这个可以知道模拟器的设备和系统版本。打开后,会发现,前面的看似乱码的文件名称,其实就是模拟器的设备 UDID,虽然从这里可以得到模拟器的 UDID,苹果也用它来进行分类模拟器,但在实际的编程中,如果想最后发布到 APP Store 的话,还是放弃 UDID 吧,这也是苹果比较霸道的一点,当然了也是在保护用户隐私的情况下做出的。

7.3 模拟器应用沙盒

  • 1)在 Xcode5 及之前的版本中,沙盒路径为如下:

    • ~/Library/Application Support/iPhone Simulator/5.0.0/Applications/

    • 在 Applications 文件夹下,会找到应用程序的沙盒。在打开应用沙盒后,会有应用程序文件、Document 文件夹、Library 文件夹、tmp 文件夹。

  • 2)在 Xcode6 和之后的版本中,应用程序文件、Document 文件夹、Library 文件夹、tmp 文件夹,这四个文件放在了不同的目录中。

    • 应用程序文件路径:

      • ~/Library/Developer/CoreSimulator/Devices/模拟器 UDID/data/Containers/Bundle/Application/
    • Document、Library、tmp 文件夹路径:

      • ~/Library/Developer/CoreSimulator/Devices/模拟器 UDID/data/Containers/Data/Application/
    • 但是不幸的是,这两个路径打开后的文件名,还是经过编码过的,而且,同一个应用中的应用程序文件和 Document、Library、tmp 文件夹 文件夹所在的文件夹的文件名是不同的,只能自己找。

7.4 模拟器应用 NSUserDefault 文件存储

  • NSUserDefault 是 iOS 提供的本地化数据存储方式,会在沙盒中自动创建一个 .plist 的配置文件,将数据保存起来,在读取时,以 NSDictionary 字典来进行接收。

  • 1)在 Xcode5 及之前的版本中,具体的路径为

    • ~/Library/Application Support/iPhone Simulator/7.0.3/Applications/模拟器 UDID/Library/Preferences/

    • 在 Preferences 文件夹下,名称为程序 Bundle Identifier 的 plist 文件。在删除模拟器中的程序后,在 Library 文件夹下的 plist 文件会相应的删除。

  • 2)在 Xcode6 和之后的版本中,具体路径为

    • ~/Library/Developer/CoreSimulator/Devices/模拟器 UDID/data/Library/Preferences/

    • 通过上述的路径可以看出,通过 NSUserDefault 创建的 plist 文件夹还是在 Library 文件下,但不同的是,真正存放的位置变了,成了在模拟器的资料库文件夹下,这样的改变所产生的变化就是,当我们在删除模拟器中的应用程序后,plist文件还是会保留,并不会删除。

8、添加离线文档

  • 1)Xcode 中离线文档存放路径

    • /Applications/Xcode.app/Contents/Developer/Documentation/DocSets/
  • 2)Xcode 离线文档

  • 3)苹果最新文档

9、真机 DeviceSupport

  • 1)真机 DeviceSupport 问题

    • 关于 Xcode7 真机测试出现 could not find developer disk image 问题,主要缺少了此文件夹,将其放到指定路径即可

      • /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport
  • 2)Xcode 真机 DeviceSupport 文件

10、Xcode 主题配置

  • 1)Xcode 主题配置文件存放路径

    • ~/Library/Developer/Xcode/UserData/FontAndColorThemes/
  • 2)Xcode 主题配置文件

### Xcode 常用 API 及其使用方法 #### 一、项目管理与构建设置 Xcode 提供了一系列接口来管理和修改项目的配置文件,这些功能对于自动化脚本编写非常重要。 - **PBXProject 类** - 此类代表整个 Xcode 工程的核心对象。通过它能够访问和编辑几乎所有关于工程的信息。 - 使用 `project.pbxproj` 文件中的 JSON 数据初始化该实例[^2]。 ```objc // 获取当前打开的 project 对象 id<PBXProject> project = [[NSClassFromString(@"XCProject") sharedData] objectForKey:@"main"]; ``` - **XCBuildConfiguration 类** - 表示单个编译配置(如 Debug 或 Release),允许读取/写入 build settings 的键值对。 - 修改特定 target 下某项 Build Setting: ```objc for (id<XCBuildConfiguration> config in [target buildConfigurations]) { if ([config.name isEqualToString:@"Debug"]) { NSMutableDictionary *buildSettings = [NSMutableDictionary dictionaryWithDictionary:[config buildSettings]]; [buildSettings setObject:@"YES" forKey:@"DEBUG_INFORMATION_FORMAT"]; // 设置调试信息格式为 DWARF [config setBuildSettings:buildSettings]; } } ``` #### 二、资源处理 除了基本的项目属性外,还需要经常操作各种类型的资源文件,比如 Info.plist 和 asset catalogs。 - **Plist 编辑** 为了方便地解析和生成 Property List 文件,可以借助第三方库如 AEXML 来简化 XML 文档的操作过程[^1]。 ```swift import AEXML let plistPath = Bundle.main.path(forResource: "Info", ofType: "plist")! var xmlDocument = try! AEXMLDocument(contentsOfFile: plistPath) xmlDocument.root["CFBundleIdentifier"].value = "new.bundle.id" try! xmlDocument.write(toFile: plistPath, atomically: true) ``` - **Asset Catalogs 操作** - Apple 推荐的方式是直接在图形界面里调整 assets,不过也可以编程方式批量导入图片素材等资源到 .xcassets 中。 - 这通常涉及到遍历本地磁盘上的图像文件夹,并调用相应命令行工具完成转换任务。 #### 三、版本控制集成 支持 Git 等主流 VCS 平台,便于团队协作开发过程中保持代码同步以及历史记录追踪等功能。 - **Source Control Menu** - 用户可以直接从菜单栏发起 commit/push/fetch 等常规动作而无需离开 IDE 环境。 - **Git Command Line Tools Integration** - 当安装好 git 后,在终端窗口内即可运行任意合法指令并与远程仓库交互。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值