+
+
Posts List
  1. 发刊词
  2. 准备工作
  3. 上手Xcode
    1. 导航区域
    2. 编辑区域
    3. 审查区域
    4. 调试区域
    5. 工具栏

macOS新手开发教程(一)准备工作

发刊词

前几天在macOS的App Store上看到一个叫「小翻译」的应用。觉得挺简单的,监控剪贴板再随便调用一个在线翻译的API就行了。但是蓝色的图标放菜单太违和了,就想着自己能不能也做一个。然后呢,就有了trans,在此之前,我丝毫没有接触过macOS的开发,trans是我开发的第一个macOS应用。从有了想法到将idea落地,我深刻感受到macOS开发的门槛之高:

  1. Apple并没有专门为macOS写文档,而是将所有的开发文档都丢在Apple Developer Documentation,这是因为iOS、macOS、watchOS、tvOS的开发具有高度相似性,对于有iOS开发经验的朋友更友好,但对于小白来说可能有点overwhelming。
  2. macOS的用户数量少,无论是网络教程还是出版教程数量都极其有限,中文教程更是少之又少。
  3. macOS开发语言历经Objective-C到Swift的变化,UI制作从手撸代码到XIB再到storyboard再到新推出的SwiftUI。一种开发方式还来不及沉淀就因开发者切换新的开发方式而被弃用了。

因此,我想通过这系列博文,一方面记录我开发trans的过程,一方面为macOS补充一份适合新手的入门教程。虽然教程适用于没接触过macOS的小白,但是我希望你具备基础的编程知识和macOS使用技能,以及良好的搜索能力。

以下是我搜集到的macOS开发资料,我从中获益良多,也希望能帮助到你们:

  1. macOS Tutorials | raywenderlich.com
  2. Apple Developer Documentation
  3. DeveloperLx/macOS_Development_Tutorials_translation: Translation of macOS development tutorials.
  4. macOS 开发 - 知乎
  5. Swift Dev Journal – Articles for iOS and Mac Developers
  6. macOS 应用开发技术
  7. Documentation Archive

准备工作

开发macOS的应用有两个门槛:

  1. 一台运行macOS的机器。为了减少不必要的麻烦,我还是建议你使用MacBook或是iMac,而不是黑苹果。
  2. Xcode。这是Apple为iOS和macOS开发所专门制作的IDE,可以在App Store中直接搜索下载。虽然也总有别的旁门左道可以绕过Xcode进行开发,不过还是那句话,为了减少不必要的麻烦,同时获得最原生的体验,用Xcode吧。

在大陆使用App Store下载Xcode可能非常慢,可以前往Apple Developer用第三方下载器下载.xip格式的软件包。下载完毕后双击解压,将解压完成后的程序拖入Applications文件夹即可。如果无法双击解压,可以尝试通过命令行:

1
xip -x ~/Downloads/Xcode_11.2.xip

本系列教程基于平台:

  • macOS 10.15.2
  • Xcode 11.1 (11A1027)

上手Xcode

打开Xcode后,创建我们的第一个macOS App项目。

  • Product Name:应用的名称
  • Team:选择你的Apple开发者账户,或者选None
  • Organization Name:你的企业名字或者你自己的名字
  • Organization Identifier:用来确认你是你。一般是com.加上Organization Name。
  • Bundle Name:用来确认你的应用是你的应用。一般是Organization Identifier加上Product Name。
  • Language:开发macOS使用的语言,可选Objective-C和Swift。Swift是如今开发iOS/macOS应用的标准语言,由Apple推出;在此之前开发者使用的是Objective-C。
  • User Interface:用户界面,可选SwiftUI、XIB和Storyboard。SwiftUI最近刚由Apple推出,尚不成熟;而Storyboard是如今开发iOS/macOS应用的主流语言;更早之前开发者使用XIB开发macOS应用。

Storyboards let you see the app’s entire user interface in one place. Storyboards also make working with view controllers easier. But xib files make creating master-detail interfaces easier.

Storyboard可以让你在一个地方管理所有用户界面,而XIB能让你更方便地创建主从结构的用户界面。

  • Create Document-Based Application:当你的应用是文档类型应用,且需要使用Apple文档体系时开启。
  • Document Extension
    • Use Core Data:当需要在设备上保存本地数据时开启。
    • Include Unit Tests & Include UI Test:当你的应用非常大,需要进行自动化测试的时候开启

创建完成项目后,就能看到Xcode的全貌了。

导航区域

导航区域的上方有8个选项卡,这里只谈谈最常用的三个:

  1. Project:项目文件
  2. Search:全局搜索
  3. Issue:报错导航

可以看到,在最左侧导航区域的文件选项卡中,Xcode已经默认为我们生成了一些文件:

  1. AppDelegate.swift:控制应用程序的启动、终止
  2. ViewController.swift:控制程序第一次打开时的页面,如果选择的是XIB则不会有这个文件
  3. Assets.xcassets:包含项目中包含的图标和图片
  4. Main.storyboard:控制用户界面
  5. Info.plist:保存应用程序基本信息
  6. sample.entitlements:控制应用的能力和权限
  7. sample.xcdatamodeld:开启Core Data后生成的模型文件

编辑区域

编辑区域显示的内容会根据你在导航区域选择的文件/条目而改变。如果你选择了.swift文件,那么你应该会看到代码编辑器;如果你选择了.storyboard文件,你会看到Interface Builder。

在编辑区域的上方,你可以通过面包屑breadcrumb导航栏快速切换文件,或是通过前进后退按钮在之前打开的文件中切换。

当我们在Interface Builder界面时,可以通过导航栏右边倒数第二个按钮打开Asistant,显示与当前视图相关的代码文件。

审查区域

如果打开的是代码文件,那么审查区域应该只有3个选项卡:

  1. File Inspector:文件审查器,显示当前文件的详细信息
  2. History Inspector:历史审查器,显示当前文件的历史变动
  3. Quick Help:快速帮助,显示当前光标所在处的相关文档

如果打开的是视图文件,除了上面提到的三种选项卡,审查区域应该还有6个选项卡:

  1. Identity Inspector:设置空间的class
  2. Attributes Inspector:定义控件的属性
  3. Size Inspector:定义控件的位置和尺寸
  4. Connections Inspector:控制控件的连接情况
  5. Bindings Inspector:查看和控制控件的绑定情况
  6. View Effects Inspector:控制控件的动效

调试区域

调试区域会显示程序运行时的变量(左)和控制台输出(右)。

工具栏

  1. Build&Run:编译并运行,长按可以显示更多操作
    1. Test:运行单元测试
    2. Profile:测试应用程序的性能
    3. Analyze:分析应用程序可能存在的问题
  2. Stop:终止应用程序的运行
  3. Status Bar:查看应用程序的运行状态
  4. Object Library:控件库
  5. Code Review:文件改动审阅
  6. Hiding/Show Panes:控制导航区域、调试区域和审查区域的显示和隐藏

本文作者: rhinoc

本文链接: https://www.rhinoc.top/macos_1/

版权声明: 本博客所有文章除特别声明外,均采用BY-NC-SA 4.0国际许可协议,转载请注明。

打赏
Love U 3000
  • Through WeChat
  • Through Alipay