लॉन्च सेवा डिफ़ॉल्ट फ़ाइल संघों के लिए जिम्मेदार है।
मान लीजिए कि मैं सब टेक्स्ट टेक्स्ट 2 में खोलने के लिए सभी टेक्स्ट फ़ाइलों को बदलना चाहता था।
सबसे पहले मुझे Sublime Text 2 के लिए kMDItemCFBundleIdentifier की आवश्यकता है। मैं इस जानकारी को प्राप्त करने के लिए mdls का उपयोग कर सकता हूं :
> mdls /Applications/Sublime\ Text\ 2.app
_kTimeMachineIsCreationMarker = 1
_kTimeMachineNewestSnapshot = 4001-01-01 00:00:00 +0000
_kTimeMachineOldestSnapshot = 2012-02-22 03:49:19 +0000
kMDItemCFBundleIdentifier = "com.sublimetext.2"
....snip....
मैं mdls के साथ उनमें से एक का निरीक्षण करके पाठ फ़ाइलों के लिए सामग्री प्रकार मान का पता लगा सकता हूं :
> mdls test.txt
kMDItemContentCreationDate = 2012-03-25 04:18:50 +0000
kMDItemContentModificationDate = 2012-03-25 04:18:50 +0000
kMDItemContentType = "public.plain-text"
kMDItemContentTypeTree = (
"public.plain-text",
"public.text",
"public.data",
"public.item",
"public.content"
)
kMDItemDateAdded = 2012-03-25 04:18:50 +0000
kMDItemDisplayName = "test.txt"
kMDItemFSContentChangeDate = 2012-03-25 04:18:50 +0000
kMDItemFSCreationDate = 2012-03-25 04:18:50 +0000
kMDItemFSCreatorCode = ""
kMDItemFSFinderFlags = 0
kMDItemFSHasCustomIcon = 0
kMDItemFSInvisible = 0
kMDItemFSIsExtensionHidden = 0
kMDItemFSIsStationery = 0
kMDItemFSLabel = 0
kMDItemFSName = "test.txt"
kMDItemFSNodeCount = 975
kMDItemFSOwnerGroupID = 20
kMDItemFSOwnerUserID = 501
kMDItemFSSize = 975
kMDItemFSTypeCode = ""
kMDItemKind = "Plain Text"
kMDItemLogicalSize = 975
kMDItemPhysicalSize = 4096
इस मामले में मैं सभी public.plain-text
प्रकार के लिए डिफ़ॉल्ट एप्लिकेशन बदल दूंगा ।
ऐसा करने के लिए मैं टाइप करता हूं:
defaults write com.apple.LaunchServices LSHandlers -array-add '{ LSHandlerContentType = \"public.plain-text\"; LSHandlerRoleAll = \"com.sublimetext.2\"; }'
अगर मैं बदलावों को प्रभावी बनाना चाहता हूं तो मुझे लॉन्च सेवाओं को फिर से शुरू करना होगा:
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain system -domain user
और क्रेडिट देने के लिए जहां क्रेडिट बकाया है, मैंने इस स्टैकओवरफ्लो.कॉम से इस दृष्टिकोण के बारे में सीखा। प्रश्न और उत्तर: /programming/9172226/how-to-set-default-application-for-spotific-file -types में मैक-os-x
checking which SDK to use... configure: error: darwin12.0.0 is not a supported system
।