开发者

Adding a service handle for cocoa app

I've read "Service Implementation Guide" from developer.apple.com and a question here from stackoverflow (on how to create a cocoa service), and followed this tutorial: http://www.cocoadev.com/index.pl?MakingServices and read http://homepage.mac.com/simx/technonova/tips/creating_a_service_for_mac_os_x.html

However, I don't seem to be able to get it working. Here's my info.plist addition:

<key>NSServices</key>
<array>
    <dict>
        <key>NSKeyEquivalent</key>
        <dict>
            <key>default</key>
            <string>L</string>
        </dict>
        <key>NSMenuItem</key>
        <dict>
            <key>default</key>
            <string>TESTSERVICE</string>
        </dict>
        <key>NSMessage</key>
        <string>doCapitalizeService</string>
        <key>NSPortName</key>
        <string>app name</string>
        <key>NSSendTypes</key>
        <array>
            <string>NSStringPBoardType</string>
        </array>
    </dict>
</array>

Where "app name" is the project and app name.

I've added an interface for handling service calls as such:

@interface my_appService : NSObject
- (void)doCapitalizeService:(NSPasteboard *)pboard
                   userData:(NSString *)data
                      error:(NSString **)error;
@end

I've registered my service as such:

开发者_如何学编程
my_appService *serviceObject = [[my_appService alloc] init];
[NSApp setServicesProvider:serviceObject];

In applicationDidFinishLaunching (BUT!) for the main app interface, as per the cocoadev tutorial.

I can not find my service anywhere (re)log in did not help. Am I missing something obvious here? Any tips are greatly appreciated; oh, and happy easter, everyone :)

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜