Reputation: 22810
I will begin by saying that I'm a complete newbie as far as AppleScript goes. So here you are...
This is what I've done so far :
.sdef
filemyname
info.plist
) to ppApplication
(my main class inheriting from NSApplication
)myname
propertyMy sdef file :
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dictionary SYSTEM "file://localhost/System/Library/DTDs/sdef.dtd">
<dictionary xmlns:xi="http://www.w3.org/2003/XInclude">
<xi:include href="file:///System/Library/ScriptingDefinitions/CocoaStandard.sdef" xpointer="xpointer(/dictionary/suite)"/>
<suite name="MyApplication Suite" code="PpRm" description="MyApplication Suite">
<class name="application" code="capp" description="MyApplication's top-level scripting object." inherits="application">
<cocoa class="ppApplication"/>
<property name="myname" code="PEnm" description="The name of the application" type="text" access="r">
<cocoa key="myname"/>
</property>
</class>
</suite>
</dictionary>
My ppApplication class :
#import <Foundation/Foundation.h>
#import "ppCore.h"
@interface ppApplication : NSApplication {
ppCore* core;
}
@property (assign) ppCore* core;
@property (readonly) NSString* myname;
@end
#import "ppApplication.h"
@implementation ppApplication
@synthesize core;
- (void)awakeFromNib
{
[self setCore:[[ppCore alloc] init]];
}
/*******************************************************
*
* APPLESCRIPT SUPPORT
*
*******************************************************/
- (NSString*)myname
{
return @"DONE";
}
@end
When I'm trying to run the following script (in AppleScript Editor)
tell application "myApplication"
myname
end tell
I'm getting a the variable myname is not defined
error.
If I go back to Xcode, Build Settings and change the Product Name to - let's say - myApplicationX and recompile, then the above code (changing it to tell application "myApplicationX"
) DOES WORK.
So, what am I doing wrong? Is it possible that the AppleScript Editor doesn't "talk" to my active compilation of the application, but to a previous one? How could I deal with this WITHOUT changing my Product Name?
Upvotes: -1
Views: 200
Reputation: 22810
There was NO issue with the above code.
Simply restarting AppleScript Editor (after making any serious changes to the application) does the trick.
Upvotes: 2