无法运行首选项窗格应用程序

Posted

技术标签:

【中文标题】无法运行首选项窗格应用程序【英文标题】:Can't run Preference Pane application 【发布时间】:2011-09-11 01:11:23 【问题描述】:

我创建了一个新的 Xcode Preference Pane 项目,我的目标是在 System Preference 应用程序中运行。 我对项目的构建设置进行了一项修改:

    将 Base SDK 从 10.7 更改为 Mac OS X 10.6(因为我想保持与 Snow Leopard 的兼容性)。

我有一个 nib 文件和 NSPreferencePane 子类,但 Xcode 不允许我运行应用程序(仅构建它,运行选项被禁用)。

我的环境规格:

Macbook Pro 2010 Mac OS X Lion (10.7) Xcode 4.2

【问题讨论】:

【参考方案1】:

使用 Xcode 方案,您现在可以很好地做到这一点。像这样编辑方案的运行操作:

将可执行文件设置为 System Preferences.app 转到“参数”选项卡并传递启动参数:$USER_LIBRARY_DIR/PreferencePanes/$FULL_PRODUCT_NAME 现在展开运行/调试方案并点击“Pre-actions” 添加具有以下正文的脚本预操作:cp -a "$TARGET_BUILD_DIR/$FULL_PRODUCT_NAME" "$USER_LIBRARY_DIR/PreferencePanes/"

宾果游戏。 Run 现在将启动系统偏好设置并直接进入您的 prefpane。

默认情况下,方案是每个用户的,因此您可能会将它们从存储库中排除,即使没有,其他用户也不会看到它们。如果您希望其他人获得这些设置,请转到“管理方案...”并将 prefPane 方案标记为共享。

注意:由于某种原因,当您将 prefPane 作为参数启动时,我似乎会随机崩溃。只需关闭参数并手动启动一次 - 从那时起您可以再次使用该参数...

【讨论】:

另请注意,从 OS X 10.8 开始,Pref 窗格可以使用 ARC 而不是 GC。当您从 Xcode 启动系统偏好设置时,它会以启用 GC 的方式启动(而从 Apple 菜单中,它现在似乎默认以 ARC 启动)。如果你想使用 ARC 来避免重启舞蹈(这会中断你的调试会话),在 OBJC_DSIABLE_GC=YES 的 Scheme 中添加一个环境变量 请注意变量中有拼写错误。它应该是“OBJC_DISABLE_GC=YES” 这在注意到垃圾收集问题和变量拼写错误后完美运行。谢谢!

以上是关于无法运行首选项窗格应用程序的主要内容,如果未能解决你的问题,请参考以下文章

退出首选项窗格插件

当用户更改首选项时如何在运行时禁用 Crashlytics/Fabric

无法调整 Access 2007 导航窗格的大小

再次单击应用程序图标时显示 Cocoa 应用程序的首选项

JRE 忽略 TLSv1.1 首选项

无法在 Firefox Developer Edition (FDE) 的调试器窗格中设置断点