Indeed, that works! And I thought I'd tried that and gotten an error, but my 
syntax must have been wrong.

Many thanks, Jeff. It's such a relief to be able to move on that I won't even 
bother to dope-slap myself. One of these days I'll read Matt Neuburg's book, 
but for now... I'll move on.

--Andy

On Jun 25, 2011, at 8:18 PM, Jeff Johnson wrote:

> Hi Andy.
> 
> It seems that the indirection confuses AppleScript, and it doesn't know which 
> dictionary to use. Is there a reason you don't use the following more simple 
> code?
> 
> tell application id "com.yourcompany.TrivialScriptable"
> 
> That works better in my testing.
> 
> -Jeff
> 
> 
> On Jun 25, 2011, at 6:52 PM, Andy Lee wrote:
> 
>> This has been bedeviling me all day. As an AppleScript novice I suspect -- I 
>> *hope* -- I'm missing something trivial.
>> 
>> I have a scriptable app I want to write AppleScript that targets the app via 
>> its bundle identifier rather than its name. But when I do what seems the 
>> obvious thing, I get a -1708 error, which I believe means the app doesn't 
>> understand the command I'm giving it.
>> 
>> I wrote a trivially scriptable app to isolate and illustrate the problem. 
>> Here's my simple script, copied and pasted exactly from AppleScript Editor:
>> 
>> get application id "com.yourcompany.TrivialScriptable"
>> set myApp to result
>> tell myApp
>>      activate
>>      greet("hello!!!")
>> end tell
>> 
>> If you're seeing the above as rich text, notice how "greet" is not bold and 
>> blue, indicating that the AppleScript compiler indeed thinks my app does not 
>> implement the "greet" command.
>> 
>> I'm pretty sure I've set up the app correctly, because targeting it via the 
>> app name works:
>> 
>> tell application "TrivialScriptable"
>>      activate
>>      greet ("this works")
>> end tell
>> 
>> In this case the "greet" is properly highlighted.
>> 
>> What am I missing here? Is this some quirk of AppleScript?
>> 
>> Note: I want to use the bundle identifier rather than the app name because 
>> in the case of my real app I have an iOS app with the same name. This means 
>> there is an XXX.app sitting in the build directory of my iOS project. This 
>> confuses AppleScript into targeting the wrong XXX.app.
>> 
>> If you want to see this for yourself, a 26K zip file containing the code for 
>> TrivialScriptable is in my public iDisk (user aglee). Build the app and try 
>> running the above AppleScript snippets in AppleScript Editor.
>> 
>> If I can't solve this I may change my approach and define a custom URL 
>> scheme and use that rather than AppleScript for the inter-app communication 
>> I need.
>> 
>> --Andy
> 

_______________________________________________

Cocoa-dev mailing list ([email protected])

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to