我正在將一些代碼從AMWorkflow遷移到NSUserAutomatorTask,以便最終可以對我的應用程序進行沙盒處理。我希望能夠在工作流程中設置現有變量的值作爲AMWorkflow是可能的:在NSUserAutomatorTask中設置變量
AMWorkflow *task = [[AMWorkflow alloc] initWithContentsOfURL:scriptURL error:nil];
[task setValue:@"myValue" forVariableWithName:@"myVar"];
但是我似乎不能夠得到類似與NSUserAutomatorTask工作的東西。 我能找到的唯一文檔(類引用)表示將變量作爲NSDictionary提供。
所以我想是這樣的:
NSUserAutomatorTask * task = [[NSUserAutomatorTask alloc] initWithURL:workflow error:nil];
task.variables = [NSDictionary dictionaryWithObject:@"myValue" forKey:@"myVar"];
[task executeWithInput:nil completionHandler:^(id result, NSError *error){
if(error)
NSLog(@"Error while executing workflow %@", [error localizedDescription]);
}];
我在另一個答案(Using AMWorkflow with sandboxed app)與提供的值改爲「executeWithInput:」爲NSUserAutomatorTask被忽略。變量是否也可能?
感謝很多的範圍內是相同的 - 我會重新測試在10.8.4 – davidb
你說得對 - 它現在「正常工作」。 – davidb