调试系统首选项窗格 w/10.11 和系统完整性保护

Debug System Pref Pane w/10.11 and System Integrity Protection

我的一个项目是系统偏好面板。对于 10.11,Xcode 的调试器无法调试它,因为我得到 "can't attach to System Preferences because of System Integrity Protection".

如何在 10.11 下调试我的 prefpane,就像我在每次 OS 回到 10.3 时所做的那样?

创建您的 PreferencePane 项目后,编辑 build 方案,select 左侧的 运行 方案列表并在 argument 选项卡上使用 + 按钮添加环境变量(变量 OBJC_DISABLE_GC和值 YES).

然后在左侧列表中选择 Pre-Actions 并添加

cp -Rf ${CONFIGURATION_BUILD_DIR}/BuildOutputPrefPane.prefPane ~/Library/PreferencePanes

然后在左侧列表中选择运行并选择系统Preference.app作为[=25= 信息选项卡中的]可执行文件。

构建您的解决方案并转到构建输出并通过单击安装您的首选项窗格并替换现有的。

运行 如果您在您的应用程序中放置一个断点并使用已安装的首选项窗格,您现在可以使用正确的方案进行项目,它可以工作,日志记录也可以工作。

这也适用于 Swift。

使用 Xcode 7.1.1、EL Capitan 和 Swift 2 语言进行测试。 享受

我最终复制了一份系统偏好设置,将其命名为 "System Preferences (Signed)",然后用我的 DeveloperID 对其进行了签名,它取代了旧的代码签名并允许它 运行 通常无需 SIP 进入方式。