The Open Scripting Architecture (OSA) provides a standard and extensible mechanism for interapplication communication in OS X. This communication takes place through the exchange of Apple events. An Apple event is a type of interprocess message that encapsulates commands and data.
How Mac Scripting Works
A scriptable application responds to Apple events by performing operations or supplying data. Every scriptable app implements its own scripting features and exposes its own unique terminology through a scripting dictionary. While not all apps are considered scriptable, any app with a graphical user interface responds to Apple Events at a minimal level. This is because OS X uses Apple Events to instruct all apps to perform core tasks such as launching, quitting, opening a document, and printing. To learn about scripting terminology and dictionaries, see Accessing Scripting Terminology.
The OSA provides the following capabilities in OS X:
![]()
Jun 03, 2019 Apple previewed macOS Catalina, the latest version of the world’s most advanced desktop operating system, packed with new features, apps and more. Packed with All-New Features and Apps, plus Sidecar Expands Mac Workspace with iPad.
The Open Scripting framework defines standard data structures, routines, and resources for creating scripting components, which implement support for specific scripting languages. The AppleScript and JavaScript components (in
System/Library/Components ), for example, make it possible to control scriptable apps from AppleScript and JavaScript scripts. Through the framework’s standard interface, a scriptable app can interact with any scripting component, regardless of its language. The framework also provides API for compiling, executing, loading, and storing scripts—functions provided by script editing apps.
The Apple Event Manager supplies the underlying support for creating scriptable apps and is implemented in the AE framework within the CoreServices framework. App developers can interact with the Apple Event Manager through the Apple Event APIs in the Foundation framework. See NSAppleEventManager Class Reference and NSAppleEventDescriptor Class Reference.
Figure 2-1 shows how OSA elements work together in OS X.
Extending the Reach of Scripting
Every scriptable app expands the reach of scripting. Developers can also add new scripting capabilities through scripting additions and scriptable background apps.
![]()
A scripting addition is a bundle that implements new scripting terminology. For example, the Standard Additions scripting addition that comes with OS X (found in
/System/Library/ScriptingAdditions/StandardAdditions.osax ), includes commands for using the Clipboard, displaying alerts, speaking text, executing shell scripts, and more. Since scripting additions are loaded in a global context, commands provided by Standard Additions are available to all scripts.
A scriptable background application (sometimes called an agent) runs with no visible user interface and provides scripts with access to useful features. System Events and Image Events are examples of scriptable background apps in OS X. Scripts can target System Events to perform operations on property list files, adjust system preferences, and much more. Scripts can target Image Events to perform basic image manipulations, such as cropping, rotating, and resizing.
Objective-C Bridging
Several technologies in OS X make it possible for scripts to interact with Objective-C frameworks, and vice-versa.
AppleScriptObjC is a bridge between AppleScript and Objective-C, and JavaScriptObjC is a bridge between JavaScript for automation and Objective-C. These bridges enable you to write scripts that use scripting terminology to interact with Objective-C frameworks, such as Foundation and AppKit. The bridges also enable you to design user interfaces for scripts that have the same look and feel of any other Cocoa app. For information about the AppleScriptObjC bridge, see Objective-C to AppleScript Quick Translation Guide. For information about JavaScriptObjC, see Objective-C Bridge in JavaScript for Automation Release Notes.
Accessing Apps From Different User On Mac Os Mac
The Scripting Bridge lets you control scriptable apps using standard Objective-C syntax. Instead of incorporating scripts in your Cocoa app or dealing with the complexities of sending and handling Apple events, you can simply send Objective-C messages to objects representing scriptable apps. Your Cocoa app can do anything a script can, but in Objective-C code that’s more tightly integrated with the rest of your project’s code. See Scripting Bridge Programming Guide and Scripting Bridge Framework Reference.
Copyright © 2018 Apple Inc. All rights reserved. Terms of Use | Privacy Policy | Updated: 2016-06-13
I have some apps installed under the admin account on my Mac. I set up standard user accounts on this machine, and I would like these users to access the already installed applications. When they run the app, it either opens in trial mode or asks for a serial number, even though they are already installed. Is there any way to do this?
posted by dhruva to Computers & Internet (13 answers total) 3 users marked this as a favorite
Have you tried adding your Apple ID to the App Store for those users? If you're unwilling to do that, then you'll probably have to buy the applications again for each user. Welcome to Apple's walled garden, we hope you enjoy your stay! posted by pharm at 1:23 PM on June 5, 2013
Some of these apps are not bought from the App Store. posted by dhruva at 1:27 PM on June 5, 2013
Which apps specifically are you using? There are a variety of different licensing and registration schemes out there, other than the Apple App Store, and they all may be subtly different. You may want to contact the authors of the apps directly. posted by xil at 1:28 PM on June 5, 2013
For example JMP or Scrivener posted by dhruva at 1:29 PM on June 5, 2013
Although some more reading has turned up conflicting answers. Humph. Maybe it depends on the licensing of specific Apps? If the programs are not bought from the App store, where are they installed? If you installed them into the user's Applications directory (my Mac is at work right now, so I can't check, but doesn't each user have their own as well as the system one?) then that's presumably why the other users can't see the Applications. You could either reinstall for each user, or else install them into the system Applications directory. posted by pharm at 1:31 PM on June 5, 2013
They are installed in the Admin user's Application directory. I remember some apps asked me if I was installing for one user or all users, and I foolishly said one user, so I was wondering if there's any way around this without having to reinstall a bunch of software. posted by dhruva at 1:35 PM on June 5, 2013
For most ordinary applications, copying the App from the user Applications directory to the system one will just work (tm) I think. posted by pharm at 1:38 PM on June 5, 2013
They are installed in the Admin user's Application directory. I remember some apps asked me if I was installing for one user or all users, and I foolishly said one user, so I was wondering if there's any way around this without having to reinstall a bunch of software. That might be (part/all of) your problem, right there. User-specific application directories exist specifically to install software only for that user - if you want everyone to have access to something, you want it in the root /Applications directory. posted by Tomorrowful at 1:43 PM on June 5, 2013
In the past I have found that some apps keep their registration keys in the preferences or application support folders. So, if just moving the application to the system application folder doesn't make the 'unregistered' messages go away you could try copying any related preference folders as well. posted by Quinbus Flestrin at 3:18 PM on June 5, 2013 [1 favorite]
Building on what Quinbus Felstrin said, look in ~/Library and its subdirectories for stuff related to the apps in question. Try moving it to /Library. Or maybe just try scrapping the apps and reinstalling... posted by Good Brain at 5:37 PM on June 5, 2013
You can make the non admin accounts admins, log in as those users, set the correct registration numbers then log out and remove admin rights. Once registration info is entered, it should stick. Though technically, you shouldn't have to make them admins to do that. posted by inviolable at 6:41 PM on June 5, 2013
Seconding what Qinbus Flestrin is saying. If the other users can see the applications, and open them in trial mode, there's nothing wrong with where the application is stored on disk. It also doesn't matter whether the other users are admins or not.
The problem is that the apps store their registration info per-user. It's possible the apps have an option to store the info globally. Otherwise, you'll have to enter the registration info for each user, or at least copy over files containing that info. I'd recommend contacting the vendors and asking for advice. posted by vasi at 9:11 PM on June 5, 2013 Accessing Apps From Different User On Mac Os Download
Ok I tried putting in the preferences files in the user accounts, but the app refused to run, it needed an activation. I guess I will have to re-install, or contact the vendors. Thanks everyone. posted by dhruva at 10:38 AM on June 6, 2013
« Older Fear and Loving in NYC | Retro-fitting MP3 input to 1970s record player? Newer »
This thread is closed to new comments.
Accessing Apps From Different User On Mac Os 10
Start it up, shut it down, but on a scheduleJanuary 27, 2011
What's a good application for organizing photos on...July 13, 2009 Anyway to develop iPhone/iTouch apps without...December 31, 2008 Starting over with a new laptop, how best to stay...December 24, 2008 Linux for a web designer! Need advice of what...February 21, 2006 Comments are closed.
|
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |