在Snow Leopard上,默认情况下禁用第三方服务。有没有办法以编程方式启用它?我尝试使用NSRequiredContext并通过编程方式编辑pbs.plist,如下面的帖子所示 How do I automatically activate an item in the OS X Services Menu, NSServices not working但它不适合我。
答案 0 :(得分:1)
我在使用我的应用程序时遇到了一些麻烦。调试时,尝试在应用启动时调用NSUpdateDynamicServices()
,并确保注册服务提供商。问题可能是您的服务根本没有注册。您可以使用终端查看使用/System/Library/CoreServices/pbs -dump_pboard
示例服务:
<key>NSServices</key>
<array>
<dict>
<key>NSMenuItem</key>
<dict>
<key>default</key>
<string>Open with app</string>
</dict>
<key>NSMessage</key>
<string>processService</string>
<key>NSPortName</key>
<string>MyApp</string>
<key>NSRequiredContext</key>
<array>
</array>
<key>NSSendTypes</key>
<array>
<string>NSStringPboardType</string>
<string>NSRTFPBoardType</string>
<string>NSURLPBoardType</string>
</array>
</dict>
</array>