2012-09-19 4 views
4

NSBundle 내에서 페이스트 보드로 복사하려고합니다.이 프로그램은 다른 프로그램 내부에 플러그인으로로드됩니다.NSPasteboard generalPasteboard는 nil을 반환합니다

어떤 이유로 든 [NSPasteboard generalPasteboard]이 nil을 반환합니다.

내 코드는 애플의 NSPasteboard documentationNSPasteboard programming guide에서입니다 :

NSPasteboard *pasteboard = [NSPasteboard generalPasteboard]; 

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

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

내가 부주의를 유발했을 수있는 일이 있습니까?

+0

Mac 용으로 개발 중이십니까? – samfisher

+0

@samfisher 예, 제 질문은 '코코아'에 관한 것입니다. –

+0

ARC를 사용하고 있습니까? 그것은 컴파일러 버그 일 수 있습니다 ... –

답변

1

내 OS를 재설치하면 문제가 해결되었습니다.

어딘가에서 언젠가는 손상되어이 격렬한 문제를 일으키는 것으로 추측됩니다.

+0

제 답변이 더 정확하다고 생각합니다. – Petah

+0

대답이 컴파일되지 않았을 것입니다. –

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> 

자세한 내용이 없으면 답을 찾을 수있는 방법이 없습니다. 다운로드하거나 검사 할 수있는 코드가 있습니까?

+1

나는 이것을 또한했다. 내 프로젝트는 디버그하기가 어렵다. 내 프로젝트는 제어 할 수없는 (또는 소스 코드) 애플리케이션 내부에 플러그인으로로드되는 NSBundle이다. 내 테스터는 동일한 깨진 동작을하지 않으므로이 문제가 내 컴퓨터에만 국한되어 있다고 생각하기 시작했습니다. –

관련 문제