无法运行Preference Pane应用程序

Ram*_*ami 6 macos xcode cocoa objective-c preference

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

  1. 从10.7将基本SDK更改为Mac OS X 10.6(因为我想保持Snow Leopard的兼容性).

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

我的环境规格:

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

Mar*_*ick 14

使用Xcode Schemes,您现在可以非常好地完成此任务.编辑方案的Run操作,如下所示:

  • 将可执行文件设置为System Preferences.app
  • 转到Arguments选项卡并传递launch参数: $USER_LIBRARY_DIR/PreferencePanes/$FULL_PRODUCT_NAME
  • 现在展开Run/Debug方案并单击"Pre-actions"
  • 使用以下正文添加脚本预执行: cp -a "$TARGET_BUILD_DIR/$FULL_PRODUCT_NAME" "$USER_LIBRARY_DIR/PreferencePanes/"

答对了.Run现在将启动System偏好设置并直接进入您的prefpane.

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

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

  • 另请注意,从OS X 10.8 Pref窗格开始,可以使用ARC而不是GC.当您从Xcode启动系统偏好设置时,它会启用GC启动(而从Apple菜单开始,它现在似乎默认以ARC开头).如果您想使用ARC然后避免重启舞蹈(这会破坏您的调试会话),请将一个环境变量添加到OBJC_DSIABLE_GC = YES的Scheme中 (4认同)
  • 请注意,变量中存在拼写错误.它应该是"OBJC_DISABLE_GC = YES" (3认同)