跳过正文
  1. Categories/

MacOS

2020

获取某个 Mac 应用的 BundleID

·1 分钟
我们知道无论是 iOS 还是 macOS 上的应用,其配置信息都是通过 plist 文件组织的,该应用的 BundleID 就藏在这个文件中,通过读取 plist 文件就能够知道其 Bundle ID 以及应用版本号等信息。我们以 App Store.app 为例,其 plist 文件就存储在如下路径,其他应用也是如此。

2019

LetsMove 中的几个点

当我们从网络上下载某个 mac app 之后,一般都会默认在 Downloads 目录里,但是某一些 App 是需要放置到 Application 目录才行,最常见的就是自更新功能是受到当前所处目录的限制的,这时候很多下载到本地的 .app 文件打开之后都会弹出提示框,让用户选择是否移动到 Applications 目录,LetsMove 就是大部分 mac app 参考或者集成的开源库,封装了这套逻辑。

XPC Services

·3 分钟
关于 XPC # 因为最近在做的工作涉及到这一块,就大致的记录一下,针对 XPC 技术也做个总结。

关于 Library 和 Framework

·8 分钟
Library 和 Framework 的概念大家应该脑海里都有一些,本文旨在讲述下基本概念,没有对每个字节都了如指掌。关于基本的编译过程在 Build Process 一文中也大概讲述了一些。

Build Process

编程语言的处理过程大致会有五个阶段,其每个阶段均有对应的工具: 预处理器 Preprocessor 编译器 Compiler 汇编器 Assembler 链接器 Linker 加载器 Loader 我们以一个简单的源文件,来看看具体这几个步骤都做了哪些事情。

Mac 平台上那些 Dockless 的 App 都是如何实现的?

Menu Only 算是 Cocoa App 中最常见的一项,它使得 App 不占用你的 Dock 栏,在多 workspace 的时候也不影响正常使用,随时都可以在屏幕的菜单栏中执行快捷操作。尤其是针对一些需要便捷性要求比较高的应用来讲,Menu bar 的功能必不可少。本文就简单介绍一下关于 Menu App 中关键的几个开发步骤。

为 NSView 增加 backgroundColor

·1 分钟
NSView 作为 Cocoa 中最基本的构成元素,是构成整个 Mac App 视图体系的基础,和 UIView 在 iOS 世界中的位置一样重要,可是在 UIView 里司空见惯的背景色设置,在 NSView 中却不见身影。

Apple Event Sandboxing

·2 分钟
问题背景 # 最近在修改某个 Mac 应用,其原理就是通过执行一段 AppleScript 获取 OmniFocus 的信息,然后进行可视化展示,但是总取不到数据。