如何解决使用NSPerformService来以编程方式调用服务无法正常工作
||NSPerformService(@\"Copy Selected Text\",pboard);
- (void)copyText:(NSPasteboard *)pboard userData:(NSString *)userData error:(NSString **)error {
NSString *copiedText = [pboard stringForType:NSStringPboardType];
NSLog(\'copied text %@\',copiedText);
}
copyText:userData:error:已成功调用,但copyedText为空,不应为空。
在调用NSPerformService之前,我确实选择了一些文本。
如果我通过选择“服务”菜单来调用我的服务,则它可以正常工作。
我假设调用NSPerformService不会将选择文本写入generalPasteboard。
解决方法
NSPerformService
无法自动获取所选文本。旨在使您能够使用没有UI的服务(例如,在命令行工具中)。您必须将希望服务使用的文本专门放入作为参数提供的粘贴板中。当然,对于服务“复制选定的文本”,这没有任何意义...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。