我正在尝试添加一个 Finder 服务,在我希望该服务完成其工作之前,一切看起来都很好。
这是我的 AppDelegate.m 中的方法:
-(void)uploadFromPasteboard:(NSPasteboard *)pboard userData:(NSString *)udata error:(NSString **)err
{
NSString *filename = [pboard stringForType:NSURLPboardType];
dbg(@"file: %@", filename);
}
plist配置:
<key>NSServices</key>
<array>
<dict>
<key>NSRequiredContext</key>
<dict/>
<key>NSMenuItem</key>
<dict>
<key>default</key>
<string>Upload File</string>
</dict>
<key>NSMessage</key>
<string>uploadFromPasteboard</string>
<key>NSPortName</key>
<string>Finder</string>
<key>NSSendTypes</key>
<array>
<string>NSURLPboardType</string>
</array>
<key>NSReturnTypes</key>
<array/>
</dict>
</array>
一切似乎都很好,该服务显示在服务菜单中,但是当我单击它时,什么也没有发生,没有日志或其他任何东西,就像根本没有调用它一样。
有人能指出我怎么了,因为我开始几乎不拔头发了:(