2012-09-19 16 views
4

Je tente de copier un NSString dans la table de montage à partir d'un NSBundle qui est chargé dans un autre programme en tant que plugin.NSPasteboard generalPasteboard renvoie zéro

Pour une raison quelconque, [NSPasteboard generalPasteboard] renvoie zéro.

Mon code est d'Apple NSPasteboard documentation et NSPasteboard programming guide:

NSPasteboard *pasteboard = [NSPasteboard generalPasteboard]; 

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

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

Y at-il quelque chose que je aurais pu le faire, par inadvertance, à la cause?

+0

Développez-vous pour mac? – samfisher

+0

@samfisher oui ma question concerne 'Cocoa'. –

+0

Utilisez-vous ARC? Ce pourrait être un bug du compilateur ... –

Répondre

1

Mon problème a été résolu en réinstallant mon système d'exploitation.

Je ne peux que supposer que quelque chose, quelque part, à un moment donné est devenu corrompu, provoquant ce problème exaspérant.

+0

Je pense que ma réponse était plus correcte. – Petah

+0

Votre réponse n'aurait pas été compilée. –

1

J'ai construit une application minimale qui charge un paquet et ajouté la journalisation de la valeur retournée par [NSPasteboard generalPasteboard] à chaque étape. Malheureusement, je n'ai pas pu reproduire ce problème. Voici la sortie que je reçois:

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

Sans plus de détails, je ne vois pas comment nous pouvons trouver une réponse. Avez-vous du code que nous pouvons télécharger ou inspecter?

+1

Je l'ai fait aussi bien. Mon problème est difficile à déboguer, car mon projet est un 'NSBundle' qui est chargé en tant que plugin dans une application sur laquelle je n'ai aucun contrôle (ou le code source). Mes testeurs n'ont pas le même comportement brisé, donc je commence à penser que ce problème est localisé uniquement sur ma machine. –