{
	"id": "6292e17d-fae7-4775-840e-e27772a867d2",
	"created_at": "2026-04-06T00:14:49.10338Z",
	"updated_at": "2026-04-10T03:20:38.522619Z",
	"deleted_at": null,
	"sha1_hash": "393feb3f75f11f772a1db4c88fe68db1fe029d94",
	"title": "Launch Services Keys",
	"llm_title": "",
	"authors": "",
	"file_creation_date": "0001-01-01T00:00:00Z",
	"file_modification_date": "0001-01-01T00:00:00Z",
	"file_size": 122247,
	"plain_text": "Launch Services Keys\r\nPublished: 2018-06-04 · Archived: 2026-04-05 21:57:24 UTC\r\nLaunch Services (part of the Core Services framework in macOS) provides support for launching apps and matching\r\ndocument types to apps. As a result, the keys recognized by Launch Services allow you to specify the desired execution\r\nenvironment for your bundled code. (In iOS, Launch Services is a private API but is still used internally to coordinate the\r\nexecution environment of iOS apps.)\r\nLaunch Services keys use the prefix LS to distinguish them from other keys. For more information about Launch\r\nServices in macOS, see Launch Services Programming Guide and Launch Services Reference.\r\nKey Summary\r\nTable 1 contains an alphabetical listing of Launch Services keys, the corresponding name for that key in the Xcode\r\nproperty list editor, a high-level description of each key, and the platforms on which you use it. Detailed information about\r\neach key is available in later sections.\r\nTable 1  Summary of Launch Services keys\r\nKey Xcode name Summary Platforms\r\nLSApplicationCategoryType\r\n“Application\r\nCategory”\r\nContains a string with the UTI that\r\ncategorizes the app for the App Store. See\r\nLSApplicationCategoryType for details.\r\nmacOS\r\nLSApplicationQueriesSchemes None\r\nSpecifies the URL schemes the app is able\r\nto test using the canOpenURL: method.\r\nSee LSApplicationQueriesSchemes for\r\ndetails.\r\niOS 9.0\r\nand later\r\nLSArchitecturePriority\r\n“Architecture\r\npriority”\r\nContains an array of strings identifying the\r\nsupported code architectures and their\r\npreferred execution priority. See\r\nLSArchitecturePriority for details.\r\nmacOS\r\nLSBackgroundOnly\r\n“Application\r\nis background\r\nonly”\r\nSpecifies whether the app runs only in the\r\nbackground. (Mach-O apps only). See\r\nLSBackgroundOnly for details.\r\nmacOS\r\nhttps://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/LaunchServicesKeys.html#//apple_ref/doc/uid/TP40009250-SW1\r\nPage 1 of 11\n\nLSEnvironment\r\n“Environment\r\nvariables”\r\nContains a list of key/value pairs,\r\nrepresenting environment variables and\r\ntheir values. See LSEnvironment for\r\ndetails.\r\nmacOS\r\nLSFileQuarantineEnabled\r\n“File\r\nquarantine\r\nenabled”\r\nSpecifies whether the files this app creates\r\nare quarantined by default. See\r\nLSFileQuarantineEnabled.\r\nmacOS\r\nLSFileQuarantineExcludedPathPatterns None\r\nSpecifies directories for which files should\r\nnot be automatically quarantined. See\r\nLSFileQuarantineExcludedPathPatterns.\r\nmacOS\r\nLSGetAppDiedEvents\r\n“Application\r\nshould get\r\nApp Died\r\nevents”\r\nSpecifies whether the app is notified when\r\na child process dies. See\r\nLSGetAppDiedEvents for details.\r\nmacOS\r\nLSMinimumSystemVersion\r\n“Minimum\r\nsystem\r\nversion”\r\nSpecifies the minimum version of macOS\r\nrequired for the app to run. See\r\nLSMinimumSystemVersion for details.\r\nmacOS\r\nLSMinimumSystemVersionByArchitecture\r\n“Minimum\r\nsystem\r\nversions, per-architecture”\r\nSpecifies the minimum version of macOS\r\nrequired to run a given platform\r\narchitecture. See\r\nLSMinimumSystemVersionByArchitecture\r\nfor details.\r\nmacOS\r\nLSMultipleInstancesProhibited\r\n“Application\r\nprohibits\r\nmultiple\r\ninstances”\r\nSpecifies whether one user or multiple\r\nusers can launch an app simultaneously.\r\nSee LSMultipleInstancesProhibited for\r\ndetails.\r\nmacOS\r\nLSRequiresIPhoneOS\r\n“Application\r\nrequires\r\niPhone\r\nenvironment”\r\nSpecifies whether the app is an iOS app.\r\nSee LSRequiresIPhoneOS for details.\r\niOS\r\nhttps://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/LaunchServicesKeys.html#//apple_ref/doc/uid/TP40009250-SW1\r\nPage 2 of 11\n\nLSRequiresNativeExecution\r\n“Application\r\nrequires\r\nnative\r\nenvironment”\r\nSpecifies whether the app must run\r\nnatively on an Intel-based Mac, as opposed\r\nto under Rosetta emulation. See\r\nLSRequiresNativeExecution for details.\r\nmacOS\r\nLSSupportsOpeningDocumentsInPlace None\r\nEnables your app to directly open original\r\ndocuments, not copies, from other apps.\r\nSee\r\nLSSupportsOpeningDocumentsInPlace for\r\ndetails.\r\niOS\r\nLSUIElement\r\n“Application\r\nis agent\r\n(UIElement)”\r\nSpecifies whether the app is an agent app,\r\nthat is, an app that should not appear in the\r\nDock or Force Quit window. See\r\nLSUIElement for details.\r\nmacOS\r\nLSUIPresentationMode\r\n“Application\r\nUI\r\nPresentation\r\nMode”\r\nSets the visibility of system UI elements\r\nwhen the app launches. See\r\nLSUIPresentationMode for details.\r\nmacOS\r\nLSVisibleInClassic\r\n“Application\r\nis visible in\r\nClassic”\r\nSpecifies whether an agent app or\r\nbackground-only app is visible to other\r\napps in the Classic environment. See\r\nLSVisibleInClassic for details.\r\nmacOS\r\nMinimumOSVersion\r\n“Minimum\r\nsystem\r\nversion”\r\nDo not use. Use\r\nLSMinimumSystemVersion instead.\r\niOS\r\nLSApplicationCategoryType\r\nLSApplicationCategoryType ( String - macOS) is a string that contains the UTI corresponding to the app’s type. The\r\nApp Store uses this string to determine the appropriate categorization for the app. Table 2 lists the supported UTIs for\r\napps.\r\nTable 2  UTIs for app categories\r\nCategory UTI\r\nhttps://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/LaunchServicesKeys.html#//apple_ref/doc/uid/TP40009250-SW1\r\nPage 3 of 11\n\nBusiness public.app-category.business\r\nDeveloper Tools public.app-category.developer-tools\r\nEducation public.app-category.education\r\nEntertainment public.app-category.entertainment\r\nFinance public.app-category.finance\r\nGames public.app-category.games\r\nGraphics \u0026 Design public.app-category.graphics-design\r\nHealthcare \u0026 Fitness public.app-category.healthcare-fitness\r\nLifestyle public.app-category.lifestyle\r\nMedical public.app-category.medical\r\nMusic public.app-category.music\r\nNews public.app-category.news\r\nPhotography public.app-category.photography\r\nProductivity public.app-category.productivity\r\nReference public.app-category.reference\r\nSocial Networking public.app-category.social-networking\r\nhttps://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/LaunchServicesKeys.html#//apple_ref/doc/uid/TP40009250-SW1\r\nPage 4 of 11\n\nSports public.app-category.sports\r\nTravel public.app-category.travel\r\nUtilities public.app-category.utilities\r\nVideo public.app-category.video\r\nWeather public.app-category.weather\r\nTable 3 lists the UTIs that are specific to games.\r\nTable 3  UTIs for game-specific categories\r\nCategory UTI\r\nAction Games public.app-category.action-games\r\nAdventure Games public.app-category.adventure-games\r\nArcade Games public.app-category.arcade-games\r\nBoard Games public.app-category.board-games\r\nCard Games public.app-category.card-games\r\nCasino Games public.app-category.casino-games\r\nDice Games public.app-category.dice-games\r\nEducational Games public.app-category.educational-games\r\nhttps://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/LaunchServicesKeys.html#//apple_ref/doc/uid/TP40009250-SW1\r\nPage 5 of 11\n\nFamily Games public.app-category.family-games\r\nKids Games public.app-category.kids-games\r\nMusic Games public.app-category.music-games\r\nPuzzle Games public.app-category.puzzle-games\r\nRacing Games public.app-category.racing-games\r\nRole Playing Games public.app-category.role-playing-games\r\nSimulation Games public.app-category.simulation-games\r\nSports Games public.app-category.sports-games\r\nStrategy Games public.app-category.strategy-games\r\nTrivia Games public.app-category.trivia-games\r\nWord Games public.app-category.word-games\r\nLSApplicationQueriesSchemes\r\nLSApplicationQueriesSchemes ( Array - iOS) Specifies the URL schemes you want the app to be able to use with the\r\ncanOpenURL: method of the UIApplication class. For each URL scheme you want your app to use with the\r\ncanOpenURL: method, add it as a string in this array. Read the canOpenURL: method description for important\r\ninformation about declaring supported schemes and using that method.\r\nTo learn about the converse operation of registering the URL schemes an app can handle, read the description of the\r\nCFBundleURLTypes key.\r\nThis key is supported in iOS 9.0 and later.\r\nLSArchitecturePriority\r\nhttps://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/LaunchServicesKeys.html#//apple_ref/doc/uid/TP40009250-SW1\r\nPage 6 of 11\n\nLSArchitecturePriority ( Array - macOS) is an array of strings that identifies the architectures this app supports. The\r\norder of the strings in this array dictates the preferred execution priority for the architectures. The possible strings for this\r\narray are listed in Table 4.\r\nTable 4  Execution architecture identifiers\r\nString Description\r\ni386 The 32-bit Intel architecture.\r\nppc The 32-bit PowerPC architecture.\r\nx86_64 The 64-bit Intel architecture.\r\nppc64 The 64-bit PowerPC architecture.\r\nIf a PowerPC architecture appears before either of the Intel architectures, macOS runs the executable under Rosetta\r\nemulation on an Intel-based Mac. To force macOS to use the current platform’s native architecture, include the\r\nLSRequiresNativeExecution key in your information property list.\r\nLSBackgroundOnly\r\nLSBackgroundOnly ( Boolean - macOS) specifies whether this app runs only in the background. If this key exists and is\r\nset to YES , Launch Services runs the app in the background only. You can use this key to create faceless background\r\napps. You should also use this key if your app uses higher-level frameworks that connect to the window server, but are not\r\nintended to be visible to users. Background apps must be compiled as Mach-O executables. This option is not available for\r\nCFM apps.\r\nLSEnvironment\r\nLSEnvironment ( Dictionary - macOS) defines environment variables to be set before launching this app. The names of\r\nthe environment variables are the keys of the dictionary, with the values being the corresponding environment variable\r\nvalue. Both keys and values must be strings.\r\nThese environment variables are set only for apps launched through Launch Services. If you run your executable directly\r\nfrom the command line, these environment variables are not set.\r\nLSFileQuarantineEnabled\r\nLSFileQuarantineEnabled ( Boolean - macOS) specifies whether files this app creates are quarantined by default.\r\nValue Description\r\nhttps://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/LaunchServicesKeys.html#//apple_ref/doc/uid/TP40009250-SW1\r\nPage 7 of 11\n\ntrue\r\nFiles created by this app are quarantined by default. When quarantining files, the system automatically\r\nassociates the timestamp, app name, and the bundle identifier with the quarantined file whenever possible.\r\nYour app can also get or set quarantine attributes as needed using Launch Services.\r\nfalse (Default) Files created by this app are not quarantined by default.\r\nThis key is available in macOS 10.5 and later.\r\nLSFileQuarantineExcludedPathPatterns\r\nLSFileQuarantineExcludedPathPatterns ( Array - macOS) contains an array of strings indicating the paths for which\r\nyou want to disable file quarantining. You can use this key to prevent file quarantines from affecting the performance of\r\nyour app. Each string in the array is a shell-style path pattern, which means that special characters such as ~ , * , and ?\r\nare automatically expanded according to the standard command-line rules. For example, a string of the form\r\n~/Library/Caches/* would allow you to disable the quarantine for files created by your app in the user’s cache\r\ndirectory.\r\nLSGetAppDiedEvents\r\nLSGetAppDiedEvents ( Boolean - macOS) indicates whether the operation system notifies this app when when one of its\r\nchild process terminates. If you set the value of this key to YES , the system sends your app an kAEApplicationDied\r\nApple event for each child process as it terminates.\r\nLSMinimumSystemVersion\r\nLSMinimumSystemVersion ( String - macOS) indicates the minimum version of macOS required for this app to run. This\r\nstring must be of the form n.n.n where n is a number. The first number is the major version number of the system. The\r\nsecond and third numbers are minor revision numbers. For example, to support macOS v10.4 and later, you would set the\r\nvalue of this key to “10.4.0”.\r\nIf the minimum system version is not available, macOS tries to display an alert panel notifying the user of that fact.\r\nLSMinimumSystemVersionByArchitecture\r\nLSMinimumSystemVersionByArchitecture ( Dictionary - macOS) specifies the earliest macOS version for a set of\r\narchitectures. This key contains a dictionary of key-value pairs. Each key corresponds to one of the architectures\r\nassociated with the LSArchitecturePriority key. The value for each key is the minimum version of macOS required for the\r\napp to run under that architecture. This string must be of the form n.n.n where n is a number. The first number is the major\r\nversion number of the system. The second and third numbers are minor revision numbers. For example, to support macOS\r\n10.4.9 and later, you would set the value of this key to “10.4.9”.\r\nIf the current system version is less than the required minimum version, Launch Services does not attempt to use the\r\ncorresponding architecture. This key applies only to the selection of an execution architecture and can be used in\r\nconjunction with the LSMinimumSystemVersion key, which specifies the overall minimum system version requirement\r\nfor the app.\r\nhttps://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/LaunchServicesKeys.html#//apple_ref/doc/uid/TP40009250-SW1\r\nPage 8 of 11\n\nLSMultipleInstancesProhibited\r\nLSMultipleInstancesProhibited ( Boolean - macOS) indicates whether an app is prohibited from running\r\nsimultaneously in multiple user sessions. If true, the app runs in only one user session at a time. You can use this key to\r\nprevent resource conflicts that might arise by sharing an app across multiple user sessions. For example, you might want\r\nto prevent users from accessing a custom USB device when it is already in use by a different user.\r\nLaunch Services returns an appropriate error code if the target app cannot be launched. If a user in another session is\r\nrunning the app, Launch Services returns a kLSMultipleSessionsNotSupportedErr error. If you attempt to launch a\r\nseparate instance of an app in the current session, it returns kLSMultipleInstancesProhibitedErr .\r\nLSRequiresIPhoneOS\r\nLSRequiresIPhoneOS ( Boolean - iOS) specifies whether the app can run only on iOS. If this key is set to YES , Launch\r\nServices allows the app to launch only when the host platform is iOS.\r\nLSRequiresNativeExecution\r\nLSRequiresNativeExecution ( Boolean - macOS) specifies whether to launch the app using the subbinary for the current\r\narchitecture. If this key is set to YES , Launch Services always runs the app using the binary compiled for the current\r\narchitecture. You can use this key to prevent a universal binary from being run under Rosetta emulation on an Intel-based\r\nMac. For more information about configuring the execution architectures, see LSArchitecturePriority.\r\nLSSupportsOpeningDocumentsInPlace\r\nLSSupportsOpeningDocumentsInPlace ( Boolean - iOS) When set to a value of YES , enables your app to open the\r\noriginal document from a file provider, rather than a copy of the document. The app can access documents from the\r\nsystem’s local file provider, the iCloud file provider, and any third-party File Provider extensions that support opening\r\ndocuments in place.\r\nThe URL for a document opened in place is security-scoped. For information about working with security-scoped URLs\r\nand bookmarks, read the overview in NSURL Class Reference and read Document Provider in App Extension\r\nProgramming Guide.\r\nIn iOS 11 and later, if both this key and the UIFileSharingEnabled key are YES , the local file provider grants access to all\r\nthe documents in the app’s Documents directory. These documents appear in the Files app, and in a document browser.\r\nUsers can open and edit these document in place.\r\nLSUIElement\r\nLSUIElement ( Boolean - macOS) specifies whether the app runs as an agent app. If this key is set to YES , Launch\r\nServices runs the app as an agent app. Agent apps do not appear in the Dock or in the Force Quit window. Although they\r\ntypically run as background apps, they can come to the foreground to present a user interface if desired. A click on a\r\nwindow belonging to an agent app brings that app forward to handle events.\r\nThe Dock and loginwindow are two apps that run as agent apps.\r\nLSUIPresentationMode\r\nhttps://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/LaunchServicesKeys.html#//apple_ref/doc/uid/TP40009250-SW1\r\nPage 9 of 11\n\nLSUIPresentationMode ( Number - macOS) identifies the initial user-interface mode for the app. You would use this in\r\napps that may need to take over portions of the screen that contain UI elements such as the Dock and menu bar. Most\r\nmodes affect only UI elements that appear in the content area of the screen, that is, the area of the screen that does not\r\ninclude the menu bar. However, you can request that all UI elements be hidden as well.\r\nThis key is applicable to both Carbon and Cocoa apps and can be one of the following values:\r\nValue Description\r\n0 Normal mode. In this mode, all standard system UI elements are visible. This is the default value.\r\n1\r\nContent suppressed mode. In this mode, system UI elements in the content area of the screen are hidden. UI\r\nelements may show themselves automatically in response to mouse movements or other user activity. For\r\nexample, the Dock may show itself when the mouse moves into the Dock’s auto-show region.\r\n2\r\nContent hidden mode. In this mode, system UI elements in the content area of the screen are hidden and do\r\nnot automatically show themselves in response to mouse movements or user activity.\r\n3\r\nAll hidden mode. In this mode, all UI elements are hidden, including the menu bar. Elements do not\r\nautomatically show themselves in response to mouse movements or user activity.\r\n4\r\nAll suppressed mode. In this mode, all UI elements are hidden, including the menu bar. UI elements may\r\nshow themselves automatically in response to mouse movements or other user activity. This option is\r\navailable only in macOS v10.3 and later.\r\nLSVisibleInClassic\r\nLSVisibleInClassic ( String - macOS). If this key is set to “1”, any agent apps or background-only apps with this key\r\nappears as background-only processes to the Classic environment. Agent apps and background-only apps without this key\r\ndo not appear as running processes to Classic at all. Unless your process needs to communicate explicitly with a Classic\r\napp, you do not need to include this key.\r\nMinimumOSVersion\r\nMinimumOSVersion ( String - iOS). When you build an iOS app, Xcode uses the iOS Deployment Target setting of the\r\nproject to set the value for the MinimumOSVersion key. Do not specify this key yourself in the Info.plist file; it is a\r\nsystem-written key. When you publish your app to the App Store, the store indicates the iOS releases on which your app\r\ncan run based on this key. It is equivalent to the LSMinimumSystemVersion key in macOS.\r\nhttps://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/LaunchServicesKeys.html#//apple_ref/doc/uid/TP40009250-SW1\r\nPage 10 of 11\n\nSource: https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/LaunchServicesKeys.html#//apple\r\n_ref/doc/uid/TP40009250-SW1\r\nhttps://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/LaunchServicesKeys.html#//apple_ref/doc/uid/TP40009250-SW1\r\nPage 11 of 11",
	"extraction_quality": 1,
	"language": "EN",
	"sources": [
		"MITRE"
	],
	"references": [
		"https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/LaunchServicesKeys.html#//apple_ref/doc/uid/TP40009250-SW1"
	],
	"report_names": [
		"TP40009250-SW1"
	],
	"threat_actors": [],
	"ts_created_at": 1775434489,
	"ts_updated_at": 1775791238,
	"ts_creation_date": 0,
	"ts_modification_date": 0,
	"files": {
		"pdf": "https://archive.orkl.eu/393feb3f75f11f772a1db4c88fe68db1fe029d94.pdf",
		"text": "https://archive.orkl.eu/393feb3f75f11f772a1db4c88fe68db1fe029d94.txt",
		"img": "https://archive.orkl.eu/393feb3f75f11f772a1db4c88fe68db1fe029d94.jpg"
	}
}