4

別のプログラム内にプラグインとしてロードされているNSString内からペーストボードにをコピーしようとしています。NSBundle

何らかの理由で、[NSPasteboard generalPasteboard]nil が返されます。

私のコードは、Apple のNSPasteboard ドキュメントNSPasteboard プログラミング ガイドからのものです。

NSPasteboard *pasteboard = [NSPasteboard generalPasteboard];

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

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

これを引き起こすために私がうっかりしてしまった可能性のあることはありますか?

4

2 に答える 2

1

私の問題は、OS を再インストールすることで解決しました。

どこかで、ある時点で何かが破損し、この腹立たしい問題が発生したとしか思えません。

于 2012-09-27T23:02:19.143 に答える
1

バンドルをロードし[NSPasteboard generalPasteboard]、各ステップで返される値のログを追加する最小限のアプリを作成しました。残念ながら、この問題を再現できませんでした。これが私が得る出力です:

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

詳細がなければ、どうやって答えを見つけられるかわかりません。ダウンロードまたは検査できるコードはありますか?

于 2012-09-23T11:45:54.053 に答える