| Inherits from | |
| Conforms to | |
| Framework | /System/Library/Frameworks/AppKit.framework |
| Availability | Available in Mac OS X v10.0 and later. |
| Companion guide | |
| Declared in | NSRunningApplication.h NSWorkspace.h |
| Related sample code |
An NSWorkspace object responds to application requests to perform a variety of services:
Opening, manipulating, and obtaining information about files and devices
Tracking changes to the file system, devices, and the user database
Getting and setting Finder information for files.
Launching applications
There is one shared NSWorkspace object per application. You use the class method sharedWorkspace to access it. For example, the following statement uses an NSWorkspace object to request that a file be opened in the TextEdit application:
[[NSWorkspace sharedWorkspace] openFile:@"/Myfiles/README" |
withApplication:@"TextEdit"]; |
– openFile:
– openFile:withApplication:
– openFile:fromImage:at:inView:
– openFile:withApplication:andDeactivate:
– openURL:
– openTempFile: Deprecated in Mac OS X v10.6
– launchApplication:
– launchApplication:showIcon:autolaunch:
– launchApplicationAtURL:options:configuration:error:
– hideOtherApplications
– duplicateURLs:completionHandler:
– recycleURLs:completionHandler:
– performFileOperation:source:destination:files:tag:
– activateFileViewerSelectingURLs:
– selectFile:inFileViewerRootedAtPath:
– typeOfFile:error:
– localizedDescriptionForType:
– preferredFilenameExtensionForType:
– filenameExtension:isValidForType:
– type:conformsToType:
– URLForApplicationWithBundleIdentifier:
– iconForFile:
– iconForFileType:
– iconForFiles:
– getInfoForFile:application:type:
– URLForApplicationToOpenURL:
– fullPathForApplication:
– getFileSystemInfoForPath:isRemovable:isWritable:isUnmountable:description:type:
– isFilePackageAtPath:
– activeApplication
– launchedApplications
– slideImage:from:to: Deprecated in Mac OS X v10.6
– noteFileSystemChanged:
– fileSystemChanged Deprecated in Mac OS X v10.6
– noteFileSystemChanged Deprecated in Mac OS X v10.6
– findApplications Deprecated in Mac OS X v10.6
– noteUserDefaultsChanged Deprecated in Mac OS X v10.6
– userDefaultsChanged Deprecated in Mac OS X v10.6
– mountedRemovableMedia
– mountedLocalVolumePaths
– runningApplications
– checkForRemovableMedia Deprecated in Mac OS X v10.6
– mountNewRemovableMedia Deprecated in Mac OS X v10.6
– absolutePathForAppBundleWithIdentifier:
– launchAppWithBundleIdentifier:options:additionalEventParamDescriptor:launchIdentifier:
– openURLs:withAppBundleIdentifier:options:additionalEventParamDescriptor:launchIdentifiers:
– desktopImageURLForScreen:
– setDesktopImageURL:forScreen:options:error:
– desktopImageOptionsForScreen:
Returns the shared NSWorkspace instance.
+ (NSWorkspace *)sharedWorkspace
The NSWorkspace object associated with the process.
NSWorkspace.hReturns the absolute file-system path of an application bundle.
- (NSString *)absolutePathForAppBundleWithIdentifier:(NSString *)bundleIdentifier
The bundle identifier string. This value corresponds to the value in the CFBundleIdentifier key of the application’s Info.plist file. For example, the bundle identifier of the TextEdit application is com.apple.TextEdit.
The file system path to the application bundle identified by bundleIdentifier, or nil if the bundle cannot be found.
NSWorkspace.hActivates the Finder, and opens one or more windows selecting the specified files.
- (void)activateFileViewerSelectingURLs:(NSArray *)fileURLs
The files to select and display in the Finder.
NSWorkspace.hReturns a dictionary with information about the current active application.
- (NSDictionary *)activeApplication
A dictionary with information about the application. The dictionary contains as many of the keys described in Table 1 as are available.
It is strongly suggested that you use the NSRunningApplication methods currentApplication or active to retrieve this information in post Mac OS X v10.6 targeted applications.
NSWorkspace.hReturns the desktop image options for the given screen.
- (NSDictionary *)desktopImageOptionsForScreen:(NSScreen *)screen
The screen for which to get the desktop image options.
A dictionary containing key-value pairs specified in “Desktop Image Dictionary Keys.”
NSWorkspace.hReturns the URL for the desktop image for the given screen.
- (NSURL *)desktopImageURLForScreen:(NSScreen *)screen
The screen for which to get the desktop image.
The desktop image.
NSWorkspace.hDuplicates the specified URLS asynchronously in the same manner as the Finder..
- (void)duplicateURLs:(NSArray *)URLs completionHandler:(void (^)(NSDictionary *newURLs, NSError *error))handler
The array of URLs to duplicate.
The completion handler block object. If completionHandler is not nil, it will be called when the operation is complete, on the same dispatch queue that was used for the duplicateURLs:completionHandler: call. The completionHandler may be nil if you are not interested in the results.
The block takes two arguments:
A dictionary parameter that maps the given URLs to their new URLs locations. Files that could not be duplicated will not be present in the dictionary.
If the operation succeeded for every file, the error parameter will be nil. If it failed for one or more files, the error parameter will describe the overall result of the operation in a manner suitable for presentation to the user.
This methods may show a progress indicator, or other user interface elements, at AppKit's discretion.
In Mac OS X 10.6, this method require that the main run loop be run in a common mode.
NSWorkspace.hRequests the system wait for the specified amount of time before turning off the power or logging out the user.
- (NSInteger)extendPowerOffBy:(NSInteger)requested
The number of milliseconds to wait before turning off the power or logging off the user.
The number of milliseconds granted by the system.
Currently unimplemented.
NSWorkspace.hReturns the corresponding array of file label colors for the file labels.
- (NSArray *)fileLabelColors
An array of colors.
This array has the same number of elements as fileLabels, and the color at a given index corresponds to the label at the same index.
You can listen for notifications named NSWorkspaceDidChangeFileLabelsNotification to be notified when file labels change which may result in changes to the order of the fileLabelColors.
NSWorkspace.hReturns the array of file labels as strings.
- (NSArray *)fileLabels
An array of strings.
You can listen for notifications named NSWorkspaceDidChangeFileLabelsNotification to be notified when file labels change.
NSWorkspace.hReturns whether the specified filename extension is appropriate for the Uniform Type Identifier.
- (BOOL)filenameExtension:(NSString *)filenameExtension isValidForType:(NSString *)typeName
A string containing the filename extension.
A string containing the Uniform Type Identifier.
YES if fileNameExtension is a valid extension for typeName, NO otherwise
NSWorkspace.hReturns the full path for the specified application.
- (NSString *)fullPathForApplication:(NSString *)appName
The name of the application.
The full path for the application, or nil if the specified application was not found.
NSWorkspace.hDescribes the file system at fullPath.
- (BOOL)getFileSystemInfoForPath:(NSString *)fullPath isRemovable:(BOOL *)removableFlag isWritable:(BOOL *)writableFlag isUnmountable:(BOOL *)unmountableFlag description:(NSString **)description type:(NSString **)fileSystemType
The path to the file-system mount point.
On input, a boolean variable; on return, this variable contains YES if the file system is on removable media.
On input, a boolean variable; on return, this variable contains YES if the file system writable.
On input, a boolean variable; on return, this variable contains YES if the file system is unmountable.
On input, a pointer to a string object variable; on return, if the method was successful, this variable contains a string object that describes the file system. You should not rely on this description for program logic but can use it in message strings. Values can include “hard,” “nfs,” and “foreign."
On input, a pointer to a string object variable; on return, if the method was successful, this variable contains the file-system type. Values can include “HFS,” “UFS,” or other values.
YES if the information was successfully returned, otherwise NO.
NSWorkspace.hRetrieves information about the specified file.
- (BOOL)getInfoForFile:(NSString *)fullPath application:(NSString **)appName type:(NSString **)type
The full path to the desired file.
The application the system would use to open the file.
On input, a pointer to a string object variable; on return, if the method is successful, this variable contains a string object with the filename extension or encoded HFS file type of the file.
YES if the information was retrieved successfully; otherwise, NO if the file could not be found or the application was not associated with the file.
NSWorkspace.hHides all applications other than the sender.
- (void)hideOtherApplications
The user can hide all applications except the current one by Command-Option-clicking on an application’s Dock icon.
NSWorkspace.hReturns an image containing the icon for the specified file.
- (NSImage *)iconForFile:(NSString *)fullPath
The full path to the file.
The icon associated with the file.
The returned image has an initial size of 32 pixels by 32 pixels.
NSWorkspace.hReturns an image containing the icon for the specified files.
- (NSImage *)iconForFiles:(NSArray *)fullPaths
An array of NSString objects, each of which contains the full path to a file.
The icon associated with the group of files.
If fullPaths specifies one file, that file's icon is returned. If fullPaths specifies more than one file, an icon representing the multiple selection is returned.
NSWorkspace.hReturns an image containing the icon for files of the specified type.
- (NSImage *)iconForFileType:(NSString *)fileType
The file type, which may be either a filename extension or an encoded HFS file type.
The icon associated with files of the given type.
The returned image has an initial size of 32 pixels by 32 pixels.
NSWorkspace.hDetermines whether the specified path is a file package.
- (BOOL)isFilePackageAtPath:(NSString *)fullPath
The full path to examine.
YES if the path identifies a file package; otherwise, NO if the path does not exist, is not a directory, or is not a file package.
NSWorkspace.hLaunches the specified application.
- (BOOL)launchApplication:(NSString *)appName
The name of the application to open.
YES if the application was successfully launched or was already running; otherwise, NO.
The appName parameter need not be specified with a full path and, in the case of an application wrapper, may be specified with or without the .app extension, as described in Use of .app Extension.
Before this method begins, it posts an NSWorkspaceWillLaunchApplicationNotification to the NSWorkspace object’s notification center. When the operation is complete, it posts an NSWorkspaceDidLaunchApplicationNotification.
NSWorkspace.hLaunches the specified application using additional options.
- (BOOL)launchApplication:(NSString *)appName showIcon:(BOOL)showIcon autolaunch:(BOOL)autolaunch
The name of the application to open.
If NO, the application's icon is not placed on the screen. (The icon still exists, though.)
If YES, the autolaunch default is set as though the specified application were autolaunched at startup.
YES if the application was successfully launched or was already running; otherwise, NO.
This method is provided to enable daemon-like applications that lack a normal user interface. Its use is not generally encouraged.
Returns YES if the application is successfully launched or already running, and NO if it can’t be launched.
Before this method begins, it posts an NSWorkspaceWillLaunchApplicationNotification to the NSWorkspace object’s notification center. When the operation is complete, it posts an NSWorkspaceDidLaunchApplicationNotification.
NSWorkspace.hLaunches the app at the specified URL.
- (NSRunningApplication *)launchApplicationAtURL:(NSURL *)urloptions:(NSWorkspaceLaunchOptions)optionsconfiguration:(NSDictionary *)configurationerror:(NSError **)error
The application URL.
Options to use when launching the application. See “NSWorkspaceLaunchOptions” for possible values.
A dictionary containing the configuration options. Possible key-value pairs are described in “Workspace Launch Configuration Options”
NSWorkspace.hLaunches the application corresponding to the specified bundleIdentifier.
- (BOOL)launchAppWithBundleIdentifier:(NSString *)bundleIdentifier options:(NSWorkspaceLaunchOptions)options additionalEventParamDescriptor:(NSAppleEventDescriptor *)descriptor launchIdentifier:(NSNumber **)identifier
A bundle identifier string. This value corresponds to the value in the CFBundleIdentifier key of the application’s Info.plist file. For example, the bundle identifier of the TextEdit application is com.apple.TextEdit.
Options to use when launching the application. Values for this parameter are described in “NSWorkspaceLaunchOptions.”
Additional options specified in an AppleEvent-style descriptor. For example, you could use this parameter to specify additional documents to open when the application is launched.
On input, a pointer to a number object variable. On return, the variable contains a number object with a unique identifier for the launch attempt. You can use this value to distinguish individual launch requests. This parameter may be nil.
YES if the application was found and launched; otherwise, NO.
NSWorkspace.hReturns an array of dictionaries, one entry for each running application.
- (NSArray *)launchedApplications
An array of NSDictionary objects. Each dictionary contains as many of the keys described in Table 1 as are available.
It is strongly suggested that you use the NSWorkspace runningApplications class method and NSRunningApplications class to retrieve this information in post Mac OS X v10.6 targeted applications.
NSWorkspace.hReturns the localized description for the specified Uniform Type Identifier
- (NSString *)localizedDescriptionForType:(NSString *)typeName
A string containing the Uniform Type Identifier.
An NSString containg the localized description of typeName.
The localized description is suitable for displaying to the user.
NSWorkspace.hReturns the mount points of all local volumes, not just the removable ones returned by mountedRemovableMedia.
- (NSArray *)mountedLocalVolumePaths
An array of NSString objects, each of which contains the full pathname of the mount point for any local volumes.
NSWorkspace.hReturns the full pathnames of all currently mounted removable disks.
- (NSArray *)mountedRemovableMedia
An array of NSString objects, each of which contains the full pathname of a mounted removable disk.
If the computer provides an interrupt or other notification when the user inserts a disk into a drive, the Finder will mount the disk immediately. However, if no notification is given, the Finder won’t be aware that a disk needs to be mounted. On such systems, an application should invoke either mountNewRemovableMedia or checkForRemovableMedia before invoking mountedRemovableMedia. Either of these methods cause the Finder to poll the drives to see if a disk is present. If a disk has been inserted but not yet mounted, these methods will cause the Finder to mount it.
The Disk button in an Open or Save panel invokes mountedRemovableMedia and mountNewRemovableMedia as part of its operation, so most applications won’t need to invoke these methods directly.
NSWorkspace.hInforms the NSWorkspace object that the file system changed at the specified path.
- (void)noteFileSystemChanged:(NSString *)path
The full path that changed.
The NSWorkspace object then gets the status of all the files and directories it is interested in and updates itself appropriately. This method is used by many objects that write or delete files.
NSWorkspace.hReturns the notification center for workspace notifications.
- (NSNotificationCenter *)notificationCenter
The notification center object.
NSWorkspace.hOpens the specified file specified using the default application associated with its type.
- (BOOL)openFile:(NSString *)fullPath
The full path to the file.
YES if the file was successfully opened; otherwise, NO.
The sending application is deactivated before the request is sent.
– openFile:fromImage:at:inView:– openFile:withApplication:– openFile:withApplication:andDeactivate:– openTempFile:NSWorkspace.hOpens a file using the default application for its type and animates the action using a custom icon.
- (BOOL)openFile:(NSString *)fullPath fromImage:(NSImage *)anImage at:(NSPoint)point inView:(NSView *)aView
The full path to the file.
The icon for the file.
The point in aView at which to display the icon.
The view in which to display the icon.
YES if the file was successfully opened; otherwise, NO.
The Finder provides an animation before opening the file to give the user feedback that the file is to be opened. To provide this animation, anImage should contain an icon for the file, and its image should be displayed at point, specified in the coordinates of aView. Currently provides the same functionality as openFile:.
The sending application is deactivated before the request is sent.
NSWorkspace.hOpens a file using the specified application.
- (BOOL)openFile:(NSString *)fullPath withApplication:(NSString *)appName
The full path to the file.
The name of the application to use when opening the file.
YES if the file was successfully opened; otherwise, NO.
The appName parameter need not be specified with a full path and, in the case of an application wrapper, may be specified with or without the .app extension, as described in Use of .app Extension. The sending application is deactivated before the request is sent.
NSWorkspace.hOpens the specified file and optionally deactivates the sending application.
- (BOOL)openFile:(NSString *)fullPath withApplication:(NSString *)appName andDeactivate:(BOOL)flag
The full path to the file.
The name of the application to use when opening the file.
If YES, the sending application is deactivated before the request is sent, allowing the opening application to become the active application.
YES if the file was successfully opened; otherwise, NO.
The appName parameter need not be specified with a full path and, in the case of an application wrapper, may be specified with or without the .app extension, as described in Use of .app Extension. If appName is nil, the default application for the file’s type is used.
– openFile:– openFile:withApplication:– application:openFile: (NSApplication delegate method)NSWorkspace.hOpens the location at the specified URL.
- (BOOL)openURL:(NSURL *)url
A URL specifying the location to open.
YES if the location was successfully opened; otherwise, NO.
NSWorkspace.hOpens one or more files from an array of URLs.
- (BOOL)openURLs:(NSArray *)urls withAppBundleIdentifier:(NSString *)bundleIdentifier options:(NSWorkspaceLaunchOptions)options additionalEventParamDescriptor:(NSAppleEventDescriptor *)descriptor launchIdentifiers:(NSArray **)identifiers
An array of NSURL objects, each one identifying a URL for the application to open.
A bundle identifier string or nil to use the default system bindings. This value corresponds to the value in the CFBundleIdentifier key of the application’s Info.plist file. For example, the bundle identifier of the TextEdit application is com.apple.TextEdit.
Options to use when launching the application. Values for this parameter are described in “NSWorkspaceLaunchOptions.”
Additional options specified in an AppleEvent-style descriptor. For example, you could use this parameter to specify additional documents to open when the application is launched.
On input, a pointer to an array object variable. On return, the variable contains an array of NSNumber objects. Each number object contains a unique identifier (one for each URL) for the launch attempt. You can use these values to distinguish individual launch requests. This parameter may be nil.
YES if the application was found and launched; otherwise, NO.
NSWorkspace.hPerforms a file operation on a set of files in a particular directory.
- (BOOL)performFileOperation:(NSString *)operation source:(NSString *)source destination:(NSString *)destination files:(NSArray *)files tag:(NSInteger *)tag
The file operation to perform. The possible values for this parameter are described in “File Operations.”
The full path to the directory containing the files on which to operate.
The full path to the destination directory of the operation.
An array of NSString objects specifying the names of the files and directories to be manipulated. Each string must not contain any path information other than the name of the file or directory. In other words, all of the files and directories must be located in the source directory and not in one if its subdirectories.
On input, a integer variable; on return, this variable contains a negative integer if the operation fails, 0 if the operation was performed synchronously and succeeded, or a positive integer if the operation was performed asynchronously. If the value is a positive integer, the value is a tag that identifies the requested file operation.
YES if the operation succeeded; otherwise, NO.
Some operations—such as moving, copying, and linking files—require a destination directory to be specified. If not, destination should be the empty string (@""). Before this method returns, it posts an NSWorkspaceDidPerformFileOperationNotification to the NSWorkspace object's notification center.
NSWorkspace.hReturns the preferred filename extension for the specified Uniform Type Identifier.
- (NSString *)preferredFilenameExtensionForType:(NSString *)typeName
A string containing the Uniform Type Identifier.
The appropriate filename extension for typeName, or nil if no extension could be determined.
NSWorkspace.hMoves the specified URLs to the trash in the same manner a the Finder.
- (void)recycleURLs:(NSArray *)URLs completionHandler:(void (^)(NSDictionary *newURLs, NSError *error))handler
The array of URLs to move to the trash.
The completion handler block object. If completionHandler is not nil, it will be called when the operation is complete, on the same dispatch queue that was used for the recycleURLs:completionHandler: call. The completionHandler may be nil if you are not interested in the results.
The block takes two arguments:
A dictionary parameter that maps the given URLs to their new URLs locations in the trash. Files that could not be moved to the trash will not be present in the dictionary.
If the operation succeeded for every file, the error parameter will be nil. If it failed for one or more files, the error parameter will describe the overall result of the operation in a manner suitable for presentation to the user.
This methods may show a progress indicator, or other user interface elements, at AppKit's discretion.
In Mac OS X 10.6, this method require that the main run loop be run in a common mode.
NSWorkspace.hReturns an array of NSRunningApplication representing the running applications.
- (NSArray *)runningApplications
An array of NSRunningApplication instances.
The order of the array is unspecified, but it is stable, meaning that the relative order of particular applications will not change across multiple calls to runningApplications. See NSRunningApplication Class Reference for more information on NSRunningApplication.
Similar to the NSRunningApplication classes's properties, this property will only change when the main run loop is run in a common mode. Instead of polling, use key-value observing to be notified of changes to this array property.
This property is thread safe, in that it may be called from background threads and the result is returned atomically.
This property is observable using key-value observing.
NSRunningApplication.hSelects the file specified by fullPath.
- (BOOL)selectFile:(NSString *)fullPath inFileViewerRootedAtPath:(NSString *)rootFullPath
The full path of the file to select.
If a path is specified, a new file viewer is opened. If you specify an empty string (@"") for this parameter, the file is selected in the main viewer.
YES if the file was successfully selected; otherwise, NO.
NSWorkspace.hSets the desktop image for the given screen to the image at the specified URL.
- (BOOL)setDesktopImageURL:(NSURL *)url forScreen:(NSScreen *)screen options:(NSDictionary *)options error:(NSError **)error
A file URL to the image. The URL must not be nil.
The screen to set the desktop image on.
The options dictionary may contain any of the “Desktop Image Dictionary Keys” keys, which control how the image is scaled on the screen.
A error that is returned by-reference if setting the image fails.
YES if the image was set as the desktop, otherwise NO. If NO is returned, the error parameter provides additional information.
You should not present a user interface for picking the options. Instead, choose appropriate defaults and allow the user to adjust them in the System Preference Pane.
NSWorkspace.hSets the icon for the file or directory at the specified path.
- (BOOL)setIcon:(NSImage *)image forFile:(NSString *)fullPath options:(NSWorkspaceIconCreationOptions)options
The image to use as the icon for the file or directory.
The full path of the file or directory.
The icon representations to generate from the image. You specify this value by combining the appropriate “Workspace icon creation options” constants, using the C bitwise OR operator. Specify 0 if you want to generate icons in all available icon representation formats.
YES if the icon was set; otherwise, NO.
The image can be an arbitrary image, with or without transparency. This image is automatically scaled (as needed) to generate the icon representations. The file or folder must exist and be writable by the user.
It is recommended that applications include the NSExclude10_4ElementsIconCreationOption option for compatibility with pre-Mac OS X v10.3 Finder. Icons that include the high resolution elements prevent custom icons from being displayed on earlier systems.
NSWorkspace.hDisplays a Spotlight search results window in Finder for the specified query string.
- (BOOL)showSearchResultsForQueryString:(NSString *)queryString
The string to search for.
YES if the communication with Finder was successful, otherwise NO.
Finder becomes the active application, if possible. The user can further refine the search via the Finder user interface.
NSWorkspace.hReturns a Boolean indicating that the first Uniform Type Identifier conforms to the second Uniform Type Identifier.
- (BOOL)type:(NSString *)firstTypeName conformsToType:(NSString *)secondTypeName
A string containing the Uniform Type Identifier that should conform to secondTypeName.
A string containing a Uniform Type Identifier.
YES if firstTypeName conforms to the uniform type identifier hierarchy of secondTypeName, NO otherwise.
Use this method instead of comparing Uniform Identifier Types for equality. See Uniform Type Identifiers Overview for information about Uniform Type Identifier conformance.
This method will always return YES if the two strings are equal. It is appropriate to use this method with other type names, including those declared in CFBundleTypeName Info.plist entries.
NSWorkspace.hReturns the uniform type identifier of the specified file, if it can be determined..
- (NSString *)typeOfFile:(NSString *)absoluteFilePath error:(NSError **)outError
The absolute path of the file.
If the Uniform Type Identifier of the file at absolutePath can’t be determined, outError contains an NSError object that describes why.
An NSString containing the uniform type identifier of the file at absoluteFilePath. If no UTI can be determined the return value is nil.
If the file at the specified path is a symbolic link, the type of the symbolic link is returned.
NSWorkspace.hUnmounts and ejects the device at the specified path.
- (BOOL)unmountAndEjectDeviceAtPath:(NSString *)path
The path to the device.
YES if the device was unmounted; otherwise, NO.
When this method begins, it posts an NSWorkspaceWillUnmountNotification to the NSWorkspace object’s notification center. When it is finished, it posts an NSWorkspaceDidUnmountNotification.
The unmountAndEjectDeviceAtURL:error: is preferable as it will provide more detailed error information.
NSWorkspace.hAttempts to eject the volume mounted at the given path.
- (BOOL)unmountAndEjectDeviceAtURL:(NSURL *)url error:(NSError **)error
The URL of the volume to eject.
If the operation fails, this error contains more information about the failure.
YES if the volume was unmounted and ejected successfully, otherwise NO, for example, if the volume is not ejectable.
NSWorkspace.hReturns the URL to the default application that would be used to open the given URL.
- (NSURL *)URLForApplicationToOpenURL:(NSURL *)url
The URL of the file to open.
The URL of the default application that would open the specified url. Returns nil if no application is able to open the url, or if the file url does not exist.
This is the programmatic equivalent of double clicking a document in the Finder.
NSWorkspace.hReturns the URL for the application with the specified identifier.
- (NSURL *)URLForApplicationWithBundleIdentifier:(NSString *)bundleIdentifier
A bundle identifier specifying an application.
The URL of the application, or nil if no application has the bundle identifier.
This uses various (currently unspecified) heuristics in case multiple apps have the same bundle ID.
NSWorkspace.hThe following table describes keys for an NSDictionary object containing information about an application. This dictionary is returned by activeApplication and launchedApplications, and is also provided in the userInfo of NSWorkspace notifications for application launch and termination.
NSWorkspacerunningApplications class method and NSRunningApplication class to retrieve this information in post Mac OS X v10.6 targeted applications. Rather than activeApplication and launchedApplications.These constants are considered legacy.
Key |
Value |
|---|---|
|
The full path to the application, as a |
|
The application's name, as an |
|
The application’s bundle identifier, as an |
|
The application's process id, as an |
|
The high long of the process serial number (PSN), as an |
|
The low long of the process serial number (PSN), as an |
These constants specify different types of files returned by getInfoForFile:application:type:.
NSString *NSPlainFileType; NSString *NSDirectoryFileType; NSString *NSApplicationFileType; NSString *NSFilesystemFileType; NSString *NSShellCommandFileType;
NSPlainFileTypePlain (untyped) file
Available in Mac OS X v10.0 and later.
Deprecated in Mac OS X v10.6.
Declared in NSWorkspace.h.
NSDirectoryFileTypeDirectory
Available in Mac OS X v10.0 and later.
Deprecated in Mac OS X v10.6.
Declared in NSWorkspace.h.
NSApplicationFileTypeCocoa application
Available in Mac OS X v10.0 and later.
Deprecated in Mac OS X v10.6.
Declared in NSWorkspace.h.
NSFilesystemFileTypeFile-system mount point
Available in Mac OS X v10.0 and later.
Deprecated in Mac OS X v10.6.
Declared in NSWorkspace.h.
NSShellCommandFileTypeExecutable shell command
Available in Mac OS X v10.0 and later.
Deprecated in Mac OS X v10.6.
Declared in NSWorkspace.h.
NSWorkspace.hThe following keys can be used in the configuration dictionary of the launchApplicationAtURL:options:configuration:error: method. Each key is optional, and if omitted, default behavior is applied.
NSString * const NSWorkspaceLaunchConfigurationAppleEvent; NSString * const NSWorkspaceLaunchConfigurationArguments; NSString * const NSWorkspaceLaunchConfigurationEnvironment; NSString * const NSWorkspaceLaunchConfigurationArchitecture;
NSWorkspaceLaunchConfigurationAppleEventThe value is the first NSAppleEventDescriptor to send to the new application. If an instance of the application is already running, this is sent to that application.
Available in Mac OS X v10.6 and later.
Declared in NSWorkspace.h.
NSWorkspaceLaunchConfigurationArgumentsThe value is an NSArray of NSStrings, passed to the new application in the argv parameter. Ignored if a new instance of the application is not launched.
Available in Mac OS X v10.6 and later.
Declared in NSWorkspace.h.
NSWorkspaceLaunchConfigurationEnvironmentThe value is an NSDictionary, mapping NSStrings to NSStrings, containing environment variables to set for the new app. Ignored if a new instance of the application is not launched.
Available in Mac OS X v10.6 and later.
Declared in NSWorkspace.h.
NSWorkspaceLaunchConfigurationArchitectureThe value is an NSNumber containing an Mach-O Architecture constant. Ignored if a new instance of the application is not launched.
Available in Mac OS X v10.6 and later.
Declared in NSWorkspace.h.
These constants specify different types of file operations used by performFileOperation:source:destination:files:tag:.
NSString *NSWorkspaceMoveOperation; NSString *NSWorkspaceCopyOperation; NSString *NSWorkspaceLinkOperation; NSString *NSWorkspaceCompressOperation; NSString *NSWorkspaceDecompressOperation; NSString *NSWorkspaceEncryptOperation; NSString *NSWorkspaceDecryptOperation; NSString *NSWorkspaceDestroyOperation; NSString *NSWorkspaceRecycleOperation; NSString *NSWorkspaceDuplicateOperation;
NSWorkspaceMoveOperationMove file to destination. Behaves the same as movePath:toPath:handler:.
Available in Mac OS X v10.0 and later.
Declared in NSWorkspace.h.
NSWorkspaceCopyOperationCopy file to destination. Behaves the same as copyPath:toPath:handler:.
Available in Mac OS X v10.0 and later.
Declared in NSWorkspace.h.
NSWorkspaceLinkOperationCreate hard link to file in destination. Behaves the same as linkPath:toPath:handler:.
Available in Mac OS X v10.0 and later.
Declared in NSWorkspace.h.
NSWorkspaceCompressOperationCompress file. This operation always returns an error.
Available in Mac OS X v10.0 and later.
Declared in NSWorkspace.h.
NSWorkspaceDecompressOperationDecompress file. This operation always returns an error.
Available in Mac OS X v10.0 and later.
Declared in NSWorkspace.h.
NSWorkspaceEncryptOperationEncrypt file. This operation always returns an error.
Available in Mac OS X v10.0 and later.
Declared in NSWorkspace.h.
NSWorkspaceDecryptOperationDecrypt file. This operation always returns an error.
Available in Mac OS X v10.0 and later.
Declared in NSWorkspace.h.
NSWorkspaceDestroyOperationDestroy file. Behaves the same as removeFileAtPath:handler:.
Available in Mac OS X v10.0 and later.
Declared in NSWorkspace.h.
NSWorkspaceRecycleOperationMove file to trash. The file is moved to the trash folder on the volume containing the file using the same semantics as NSWorkspaceMoveOperation. If a file with the same name currently exists in the trash folder, the new file is renamed. If no trash folder exists on the volume containing the file, the operation fails.
Available in Mac OS X v10.0 and later.
Declared in NSWorkspace.h.
NSWorkspaceDuplicateOperationDuplicate file in source directory.
Available in Mac OS X v10.0 and later.
Declared in NSWorkspace.h.
NSWorkspace.hThe following keys may be specified or returned in the options dictionary for setDesktopImageURL:forScreen:options:error:.
NSString * const NSWorkspaceDesktopImageScalingKey; NSString * const NSWorkspaceDesktopImageAllowClippingKey; NSString * const NSWorkspaceDesktopImageFillColorKey;
NSWorkspaceDesktopImageScalingKeyThe value is an NSNumber containing an NSImageScaling constant as declared in NSCell. If this is not specified, NSImageScaleProportionallyUpOrDown is used. NSImageScaleProportionallyDown is not currently supported.
Available in Mac OS X v10.6 and later.
Declared in NSWorkspace.h.
NSWorkspaceDesktopImageAllowClippingKeyThe value is an NSNumber containing a BOOL, which affects the interpretation of Proportional scaling types. A NO value will make the image fully visible, but there may be empty space on the sides or top and bottom. A YES value will cause the image to fill the entire screen, but the image may be clipped. If this is not specified, NO is assumed. Non-proportional scaling types ignore this value.
Available in Mac OS X v10.6 and later.
Declared in NSWorkspace.h.
NSWorkspaceDesktopImageFillColorKeyThe value is an NSColor, which is used to fill any empty space around the image. If not specified, a default value is used. Currently, only colors that use or can be converted to use NSCalibratedRGBColorSpace are supported, and any alpha value is ignored.
Available in Mac OS X v10.6 and later.
Declared in NSWorkspace.h.
These constants define launch options you can pass to launchAppWithBundleIdentifier:options:additionalEventParamDescriptor:launchIdentifier: and openURLs:withAppBundleIdentifier:options:additionalEventParamDescriptor:launchIdentifiers:.
enum {
NSWorkspaceLaunchAndPrint = 0x00000002,
NSWorkspaceLaunchInhibitingBackgroundOnly = 0x00000080,
NSWorkspaceLaunchWithoutAddingToRecents = 0x00000100,
NSWorkspaceLaunchWithoutActivation = 0x00000200,
NSWorkspaceLaunchAsync = 0x00010000,
NSWorkspaceLaunchAllowingClassicStartup = 0x00020000,
NSWorkspaceLaunchPreferringClassic = 0x00040000,
NSWorkspaceLaunchNewInstance = 0x00080000,
NSWorkspaceLaunchAndHide = 0x00100000,
NSWorkspaceLaunchAndHideOthers = 0x00200000,
NSWorkspaceLaunchDefault = NSWorkspaceLaunchAsync | NSWorkspaceLaunchAllowingClassicStartup
};
typedef NSUInteger NSWorkspaceLaunchOptions;
NSWorkspaceLaunchAndPrintPrint items instead of opening them.
Available in Mac OS X v10.3 and later.
Declared in NSWorkspace.h.
NSWorkspaceLaunchInhibitingBackgroundOnlyCauses launch to fail if the target is background-only.
Available in Mac OS X v10.3 and later.
Declared in NSWorkspace.h.
NSWorkspaceLaunchWithoutAddingToRecentsDo not add the application or documents to the Recents menu.
Available in Mac OS X v10.3 and later.
Declared in NSWorkspace.h.
NSWorkspaceLaunchWithoutActivationLaunch the application but do not bring it into the foreground.
Available in Mac OS X v10.3 and later.
Declared in NSWorkspace.h.
NSWorkspaceLaunchAsyncLaunch the application and return the results asynchronously.
Available in Mac OS X v10.3 and later.
Declared in NSWorkspace.h.
NSWorkspaceLaunchAllowingClassicStartupStart up the Classic compatibility environment, if it is required by the application.
Available in Mac OS X v10.3 and later.
Declared in NSWorkspace.h.
NSWorkspaceLaunchPreferringClassicForce the application to launch in the Classic compatibility environment.
Available in Mac OS X v10.3 and later.
Declared in NSWorkspace.h.
NSWorkspaceLaunchNewInstanceCreate a new instance of the application, even if one is already running.
Available in Mac OS X v10.3 and later.
Declared in NSWorkspace.h.
NSWorkspaceLaunchAndHideTell the application to hide itself as soon as it has finished launching.
Available in Mac OS X v10.3 and later.
Declared in NSWorkspace.h.
NSWorkspaceLaunchAndHideOthersHide all applications except the newly launched one.
Available in Mac OS X v10.3 and later.
Declared in NSWorkspace.h.
NSWorkspaceLaunchDefaultLaunch the application asynchronously and launch it in the Classic environment, if required.
Available in Mac OS X v10.3 and later.
Declared in NSWorkspace.h.
The following keys are available in the userInfo parameter of the notification named NSWorkspaceDidRenameVolumeNotification.
NSString * const NSWorkspaceVolumeLocalizedNameKey; NSString * const NSWorkspaceVolumeURLKey;
NSWorkspaceVolumeLocalizedNameKeyNSString containing the user-visible name of the volume.
Available in Mac OS X v10.6 and later.
Declared in NSWorkspace.h.
NSWorkspaceVolumeURLKeyNSURL containing the mount path of the volume.
Available in Mac OS X v10.6 and later.
Declared in NSWorkspace.h.
The following keys are available in the userInfo parameter of the notification named NSWorkspaceDidRenameVolumeNotification.
NSString * const NSWorkspaceVolumeOldLocalizedNameKey; NSString * const NSWorkspaceVolumeOldURLKey;
NSWorkspaceVolumeOldLocalizedNameKeyNSString containing the old user-visible name of the volume
Available in Mac OS X v10.6 and later.
Declared in NSWorkspace.h.
NSWorkspaceVolumeOldURLKeyNSURL containing the old mount path of the volume
Available in Mac OS X v10.6 and later.
Declared in NSWorkspace.h.
This constant is supplied in the userInfo dictionary of various notifications.
NSString * const NSWorkspaceApplicationKey;
NSWorkspaceApplicationKeyThe value corresponding to this key is an instance of NSRunningApplication that reflects the affected application.
Available in Mac OS X v10.6 and later.
Declared in NSWorkspace.h.
These constants describe the NSWorkspaceIconCreationOptions values used by setIcon:forFile:options:. You can combine these using the C bitwise OR operator.
enum {
NSExcludeQuickDrawElementsIconCreationOption = 1 << 1,
NSExclude10_4ElementsIconCreationOption = 1 << 2
};
typedef NSUInteger NSWorkspaceIconCreationOptions;
NSExcludeQuickDrawElementsIconCreationOptionSuppress generation of the QuickDraw format icon representations that are used Mac OS X v10.0 through v10.4.
Available in Mac OS X v10.4 and later.
Declared in NSWorkspace.h.
NSExclude10_4ElementsIconCreationOptionSuppress generation of the new higher resolution icon representations that are supported in Mac OS X v10.4.
Available in Mac OS X v10.4 and later.
Declared in NSWorkspace.h.
All NSWorkspace notifications are posted to the NSWorkspace object’s own notification center, not the application’s default notification center. Access this center using the NSWorkspace object’s notificationCenter method.
Posted when the Finder is about to launch an application.
The notification object is the shared NSWorkspace instance. In Mac OS X v10.6 and later the userInfo dictionary contains the NSWorkspaceApplicationKey key with a corresponding instance of NSRunningApplication that represents the affected application.
In Mac OS X v10.5 and earlier the userInfo dictionary contains the keys and values described in Table 1.
NSWorkspace.hPosted when a new application has started up.
The notification object is the shared NSWorkspace instance. In Mac OS X v10.6 and later the userInfo dictionary contains the NSWorkspaceApplicationKey key with a corresponding instance of NSRunningApplication that represents the affected application.
In Mac OS X v10.5 and earlier the userInfo dictionary contains the keys and values described in Table 1.
NSWorkspace.hPosted when an application finishes executing.
The notification object is the shared NSWorkspace instance. In Mac OS X v10.6 and later the userInfo dictionary contains the NSWorkspaceApplicationKey key with a corresponding instance of NSRunningApplication that represents the affected application.
In Mac OS X v10.5 and earlier the userInfo dictionary contains the keys and values described in Table 1.
NSWorkspace.hPosted after a user session is switched in. This allows an application to re-enable some processing when a switched out session gets switched back in, for example.
The notification object is the shared NSWorkspace instance. The notification does not contain a userInfo dictionary.
NSWorkspace.hPosted before a user session is switched out. This allows an application to disable some processing when its user session is switched out, and re-enable when that session gets switched back in, for example.
The notification object is the shared NSWorkspace instance. The notification does not contain a userInfo dictionary.
If an application is launched in an inactive session, NSWorkspaceSessionDidResignActiveNotification is sent after NSApplicationWillFinishLaunchingNotification and before sending NSApplicationDidFinishLaunchingNotification.
NSWorkspace.hPosted when the Finder is about to hide an application.
The notification object is the shared NSWorkspace instance. In Mac OS X v10.6 and later the userInfo dictionary contains the NSWorkspaceApplicationKey key with a corresponding instance of NSRunningApplication that represents the affected application.
NSWorkspace.hPosted when the Finder is about to unhide an application.
The notification object is the shared NSWorkspace instance. In Mac OS X v10.6 and later the userInfo dictionary contains the NSWorkspaceApplicationKey key with a corresponding instance of NSRunningApplication that represents the affected application.
NSWorkspace.hPosted when the Finder is about to activate an application.
The notification object is the shared NSWorkspace instance. In Mac OS X v10.6 and later the userInfo dictionary contains the NSWorkspaceApplicationKey key with a corresponding instance of NSRunningApplication that represents the affected application.
NSWorkspace.hPosted when the Finder is about to deactivate an application.
The notification object is the shared NSWorkspace instance. In Mac OS X v10.6 and later the userInfo dictionary contains the NSWorkspaceApplicationKey key with a corresponding instance of NSRunningApplication that represents the affected application.
NSWorkspace.hPosted when a volume changes its name and/or mount path. These typically change simultaneously, in which case only one notification is posted.
The notification object is the shared NSWorkspace instance. The userInfo dictionary contains keys in “NSWorkspaceDidRenameVolumeNotification User Info Keys” and “Volume Mounting Notification User Info Keys.”
NSWorkspace.hPosted when a new device has been mounted.
The notification object is the shared NSWorkspace instance.
In Mac OS X v10.5 and earlier the userInfo dictionary contains a key @"NSDevicePath" that returns the path where the device was mounted, as a string.
NSWorkspace.hPosted when the Finder is about to unmount a device.
This notification will not be delivered if a volume was forcibly and immediately made unavailable, such as when a FireWire drive is simply unplugged, because there is no chance to deliver it before the volume becomes unavailable.
The notification object is the shared NSWorkspace instance. The userInfo dictionary contains a key @"NSDevicePath" that returns the path where the device was mounted, as a string.
NSWorkspace.hPosted when the Finder did unmount a device.
This notification will not be delivered if a volume was forcibly and immediately made unavailable, such as when a FireWire drive is simply unplugged, because there is no chance to deliver it before the volume becomes unavailable.
The notification object is the shared NSWorkspace instance. The userInfo dictionary contains a key @"NSDevicePath" that returns the path where the device was mounted, as a string.
NSWorkspace.hPosted when a file operation has been performed in the receiving application.
The notification object is the shared NSWorkspace instance. The userInfo dictionary contains a key @"NSOperationNumber" with a NSNumber object containing an integer indicating the type of file operation
NSWorkspace.hPosted when the Finder file labels or colors change.
The notification object is the shared NSWorkspace instance. The notification does not contain a userInfo dictionary.
NSWorkspace.hPosted when a Spaces change has occurred.
The notification object is the shared NSWorkspace instance. The notification does not contain a userInfo dictionary.
NSWorkspace.hPosted when the machine wakes from sleep.
The notification object is the shared NSWorkspace instance. The notification does not contain a userInfo dictionary.
NSWorkspace.hPosted when the user has requested a logout or that the machine be powered off.
The notification object is the shared NSWorkspace instance. This notification does not contain a userInfo dictionary.
NSWorkspace.hPosted before the machine goes to sleep. An observer of this message can delay sleep for up to 30 seconds while handling this notification.
The notification object is the shared NSWorkspace instance. The notification does not contain a userInfo dictionary.
NSWorkspace.hPosted when the machine’s screen goes to sleep.
The notification object is the shared NSWorkspace instance. The notification does not contain a userInfo dictionary.
Few applications are likely to be interested in this notification, but they may be useful for certain hardware-based drawing decisions, for example when using OpenGL.
NSWorkspace.hPosted when the machine’s screens wake.
The notification object is the shared NSWorkspace instance. The notification does not contain a userInfo dictionary.
Few applications are likely to be interested in this notification, but they may be useful for certain hardware-based drawing decisions, for example when using OpenGL.
NSWorkspace.hLast updated: 2009-11-17