3

I'm working on an application where I need to be able to pass a string variable from Applescript to Objective C. I have figured out how to run Applescript from a method in my Objective C Class, but I need to be able to set an NSString to a string from Applescript. How would I be able to accomplish this?

Thanks in advance!

Fernando Cervantes
  • 2,962
  • 2
  • 23
  • 34

2 Answers2

7

Quick example:

NSString *theScript =   @"set theTimeString to time string of (current date)\n"
                         "return theTimeString";

NSDictionary *errorInfo = nil;
NSAppleScript *run = [[NSAppleScript alloc] initWithSource:theScript];
NSAppleEventDescriptor *theDescriptor = [run executeAndReturnError:&errorInfo];
NSString *theResult = [theDescriptor stringValue];
NSLog(@"%@",theResult);

Output:

2:36:06 PM

Anne
  • 26,765
  • 9
  • 65
  • 71
1

Have a look at the documentation for NSAppleEventDescriptor, especially the method -[NSAppleEventDescriptor stringValue]

Nathan Day
  • 5,981
  • 2
  • 24
  • 40