J'écris une application Cocoa et j'aimerais générer une feuille de calcul Numbers à partir de mon application en utilisant Scripting Bridge. J'ai généré le fichier Numbers.h et lié le fichier ScriptingBridge.framework en suivant les instructions du document Documentation d'Apple . Voici le code que j'utilise pour essayer de créer simplement un document Numbers et de l'enregistrer.
NSString *path = @"/Users/username/Desktop/Test.numbers";
NumbersApplication *numbers = [SBApplication applicationWithBundleIdentifier:@"com.apple.iWork.Numbers"];
[numbers activate];
NumbersDocument *document = [[[numbers classForScriptingClass:@"document"] alloc] initWithProperties:[NSDictionary dictionaryWithObjectsAndKeys:project.title, @"name", nil]];
[[numbers documents] addObject:document];
[document saveAs:nil in:[NSURL URLWithString:path]];
Le code se compile et s'exécute, mais lorsque j'essaie la méthode saveAs:in :, j'obtiens l'erreur suivante :
-[SBProxyByClass saveAs:in :]: l'objet n'a pas encore été ajouté à un conteneur ; le sélecteur n'est pas reconnu [self = 0x2005912e0].
Dois-je faire quelque chose d'autre que d'ajouter le document au tableau [numbers documents] ?
Je suis ouvert à l'utilisation d'AppleScript, mais je préférerais utiliser le Scripting Bridge si possible.