objective-c – NSPasteboard generalPasteboard返回nil

我正在尝试从NSBundle中将NSString复制到粘贴板,该NSBundle作为插件加载到另一个程序中.

由于某种原因,[NSPasteboard generalPasteboard]返回零.

我的代码来自Apple的NSPasteboard documentationNSPasteboard programming guide

NSPasteboard *pasteboard = [NSPasteboard generalPasteboard];

// Outputs: (null)
NSLog(@"%@", pasteboard);

[pasteboard clearContents];
BOOL copiedToPasteboard = [pasteboard writeObjects:@[@"The string"]];

有没有什么我可以无意中做到这一点?

最佳答案 我已经构建了一个最小的应用程序,它可以加载一个包并在每一步添加[NSPasteboard generalPasteboard]返回的值的记录.不幸的是,我无法重现这个问题.这是我得到的输出:

NUAppDelegate> init:<NSPasteboard: 0x100647740>
NUAppDelegate> awakeFromNib:<NSPasteboard: 0x100647740>
NUAppDelegate> applicationDidFinishLaunching::<NSPasteboard: 0x100647740>
Loading plugin
Plugin> init:<NSPasteboard: 0x100647740>
Plugin> someMethod:<NSPasteboard: 0x100647740>

没有更多细节,我看不出我们如何找到答案.你有一些我们可以下载或检查的代码吗?

点赞