LSGetApplicationForInfo(_:_:_:_:_:_:)
Locates the preferred app for opening items with a specified file type, creator signature, filename extension, or any combination of these characteristics.
Declaration
func LSGetApplicationForInfo(_ inType: OSType, _ inCreator: OSType, _ inExtension: CFString!, _ inRoleMask: LSRolesMask, _ outAppRef: UnsafeMutablePointer<FSRef>!, _ outAppURL: UnsafeMutablePointer<Unmanaged<CFURL>?>!) -> OSStatusParameters
- inType:
The file type to consider. Comparison of file types is case-sensitive. Pass
kLSUnknownTypeif the items’ file type is unimportant. - inCreator:
The creator signature to consider. Comparison of creator signatures is case-sensitive. Pass
kLSUnknownCreatorif the items’ creator signature is unimportant. - inExtension:
A Core Foundation string object specifying the filename extension to consider; see the CFString Reference in the Core Foundation Reference Documentation for a description of the
CFStringRefdata type. Comparison of filename extensions is case-insensitive. PassNULLif the items’ filename extension is unimportant. - inRolesMask:
A bit mask specifying the application’s desired role or roles with respect to items with the specified characteristics; see Lsrolesmask for a description of this mask. If the role is unimportant, pass
kLSRolesAll. - outAppRef:
A pointer to a file-system reference that, on return, will identify the preferred application for opening items with the specified characteristics; see the File Manager Reference in the Carbon File Management Documentation for a description of the
FSRefdata type. PassNULLif you are not interested in identifying the preferred application in this form; however, this parameter andoutAppURLcannot both beNULL. - outAppURL:
A pointer to a Core Foundation URL reference that, on return, will identify the preferred application for items with the specified characteristics; see the CFURL Reference in the Core Foundation Reference Documentation for a description of the
CFURLRefdata type. PassNULLif you are not interested in identifying the preferred application in this form; however, this parameter andoutAppRefcannot both beNULL.Despite the absence of the word
Copyin its name, this function retains the URL reference object on your behalf; you are responsible for releasing this object.
Return Value
A result code; see Result Codes. If no application suitable for opening items with the specified characteristics is found in the Launch Services database, the function will return the result code kLSApplicationNotFoundErr.
Discussion
You can request any combination of one, two, or all three of the characteristics specified by the inType, inCreator, and inExtension parameters; at least one of these characteristics must be supplied. Note that since the choice of a preferred application is subject to any document binding preferences the user may have set, the application chosen will not necessarily be the default application that matches the input characteristics, but may instead be a user-specified application that overrides the default.
Version-Notes
Thread-safe since Mac OS version 10.2.
See Also
Deprecated Functions
LSGetHandlerOptionsForContentType(_:)LSSetHandlerOptionsForContentType(_:_:)LSCopyAllHandlersForURLScheme(_:)LSCopyDefaultHandlerForURLScheme(_:)LSGetApplicationForItem(_:_:_:_:)LSGetApplicationForURL(_:_:_:_:)LSCopyApplicationForMIMEType(_:_:_:)LSCanRefAcceptItem(_:_:_:_:_:)LSFindApplicationForInfo(_:_:_:_:_:)LSOpenApplication(_:_:)LSOpenItemsWithRole(_:_:_:_:_:_:_:)LSOpenURLsWithRole(_:_:_:_:_:_:)LSOpenFSRef(_:_:)LSOpenFromRefSpec(_:_:)LSCopyItemInfoForRef(_:_:_:)LSCopyItemInfoForURL(_:_:_:)LSCopyDisplayNameForRef(_:_:)LSCopyDisplayNameForURL(_:_:)LSCopyKindStringForRef(_:_:)LSCopyKindStringForURL(_:_:)LSCopyKindStringForTypeInfo(_:_:_:_:)LSCopyKindStringForMIMEType(_:_:)LSCopyItemAttribute(_:_:_:_:)LSCopyItemAttributes(_:_:_:_:)LSGetExtensionInfo(_:_:_:)LSSetExtensionHiddenForRef(_:_:)LSSetExtensionHiddenForURL(_:_:)LSRegisterFSRef(_:_:)