iOS开发 plist字段列表,很全
?http://www.dreamingwish.com/dream-category/learning-note/iphone-learning-note
?
?
http://www.dreamingwish.com/dream-2012/plist-field-list-it-is.html
bundle字段
這些字段名都是XML中的名稱,在xcode的屬性編輯器中,名字并不相同
bundle目錄中的屬性列表詳細描述了有關該bundle的信息。Finder和一些系統API在一些情況下會使用這些信息。bundle支持下列字段類型:
- Core Foundation字段–描述了bundle的綜合屬性
- Cocoa特定的字段–描述了和Cocoa有關的bundle的屬性
- Finder特定的字段–描述了和Finder與文件系統有關的信息
- 啟動服務字段–描述了和啟動服務有關的信息
?
標準Bundle字段
Mac OS X 為描述bundle的信息提供了一組核心字段。集成開發環境會賦予這些字段缺省值。表A-1列出了這些字段。
表A-1 標準字段概要
| 字段 | 類型 | 是否必須 | 摘要 |
| CFBundleDevelopmentRegion | String | No | 該bundle的地區。通常對應于作者的母語。 |
| CFBundleDisplayName | String | No | 本地化的bundle名。 |
| CFBundleDocumentTypes | Array | No | 一組描述了該bundle所支持的文檔類型的字典。 |
| CFBundleExecutable | String | Yes | 該bundle的可執行文件名。 |
| CFBundleGetInfoHTML | String | No | 用來在Finder的Get Info 面板中顯示的更豐富內容的字符串。 |
| CFBundleGetInfoString | String | No | 用來在Finder的Get Info 面板中顯示的字符串。 |
| CFBundleHelpBookFolder | String | No | 含有該bundle幫助文件的文件夾名字。 |
| CFBundleHelpBookName | String | No | 當該bundle的幫助啟動時顯示的幫助文件的名字。 |
| CFBundleIconFile | String | Yes | 圖標文件的文件名。 |
| CFBundleIdentifier | String | Yes | 該bundle的唯一標識字符串。該字符串的格式類似java包的命名方式,例如:com.apple.myapp。 |
| CFBundleInfoDictionaryVersion | String | Yes | Info.plist格式的版本信息。 |
| CFBundleName | String | Yes | bundle的簡稱。 |
| CFBundlePackageType | String | Yes | 用來標識bundle類型的四個字母長的代碼。 |
| CFBundleShortVersionString | String | Yes | 面向用戶市場的bundle的版本字符串。 |
| CFBundleSignature | String | Yes | 用來標識創建者的四個字母長的代碼。 |
| CFBundleURLTypes | Array | No | 一組描述了該bundle所支持的URL協議的字典。 |
| CFBundleVersion | String | Yes | 可執行文件的創建號。 |
?
CFBundleDevelopmentRegion
CFBundleDevelopmentRegion字段指定了一個字符串值來標識bundle的地區。通常對應于作者的母語。如果不能找到用戶首選的地區或語言的資源,系統最后會使用該值。
?
CFBundleDisplayName
CFBundleDisplayName字段指定了一個字符串值來標識bundle的顯示名稱。Finder和其他用戶界面組件會把它顯示給用戶。這個名稱可以與文件系統中的bundle名不同。通過把字段加入適當的.lproj子目錄中的InfoPlist.strings文件,就可以實現該字段的本地化。如果您需要本地化這個字段,您還應該提供一個CFBundleName字段的本地化版本。
有關顯示名稱的更多信息參見“本地化文件系統名稱”。
?
CFBundleDocumentTypes
CFBundleDocumentTypes字段保存了一組字典,它包含了該應用程序所支持的文檔類型。每一個字典都被稱做類型定義字典,并且包含了用于定義文檔類型的字段。表A-2列出了類型定義字典中支持的字段。
表 A-2 CFBundleDocumentTypes字典的字段
| 字段 | 類型 | 描述 |
| CFBundleTypeExtensions | Array | 該字段包含了一組映射到這個類型的文件擴展名。為了打開具有任何擴展名的文檔,可以用單個星號“*”。該字段是必須的。 |
| CFBundleTypeIconFile | String | 該字段指定了系統顯示該類文檔時使用的圖標文件名,該圖標文件名的擴展名是可選的。如果沒有擴展名,系統會根據平臺指定一個(例如,Mac OS 9中的.icons)。 |
| CFBundleTypeName | String | 該字段包含了這種文檔類型的抽象名稱。通過在適當的InforPlist.strings文件中包含該字段,可以實現對它的本地化。 |
| CFBundleTypeOSTypes | Array | 該字段包含了一組映射到這個類型的四字母長的類型代碼。為了打開所有類型的文檔,可以把它設為“****”。該字段是必須的。 |
| CFBundleTypeRole | String | 該字段定義了那些與文檔類型有關的應用程序的角色。它的值可以是Editer,Viewer,Printer,Shell或None。有關這些值的詳細描述可以參見“ 文檔的配置”。該字段是必須的。 |
| NSDocumentClass | String | 該字段描述了被用來實例化文檔的NSDocument子類。僅供Cocoa應用程序使用。 |
| NSExportableAs | Array | 該字段描述了一組可以輸出的文檔類型。僅供Cocoa應用程序使用。 |
?
CFBundleExecutable
CFBundleExecutable 標識了bundle的可執行主文件的名稱。對于一個應用程序來說,就是該應用程序的可執行文件。對于一個可加載bundle,它是一個可以被bundle動態加載的二進制文件。對于一個框架,它是一個共享庫。Project Builder會自動把該字段加入到合適項目的Info.plist文件中。
對于框架,考慮到啟動效率的原因,可執行文件名需要和框架名同名。該可執行文件名不應該包含可用于多種平臺的擴展名。
注意
您必須在bundle的Info.plist文件中包含一個有效的CFBundleExecutable字段。即使當用戶重命名應用程序或bundle的目錄時,Mac OS X也可以使用這個字段來定位可執行文件和共享庫。
?
CFBundleGetInfoHTML
CFBundleGetInfoHTML字段含有會在bundle的信息窗口中顯示的HTML字符串。如果您希望在信息窗口中有更強的表現力,可以使用這個鍵值對來替代純文本的CFBundleGetInfoString。通過把它加入到合適的.lproj目錄中的InfoPlist.strings文件中,您也可以本地化該字符串。
如果CFBundleGetInfoString和CFBundleGetInfoHTML同時存在的話,系統會選擇使用CFBundleGetInfoHTML。
?
CFBundleGetInfoString
CFBundleGetInfoString字段含有會在bundle的信息窗口中顯示的純文本字符串(這里的字符串也就是Mac OS 9中的長字符串)。該字段的格式應該遵照Mac OS 9中的長字符串,例如:“2.2.1, ? Great Software, Inc, 1999”。通過把它加入到合適的.lproj目錄中的InfoPlist.strings文件中,您也可以本地化該字符串。
如果存在CFBundleGetInfoHTML的話,系統不會選擇使用該字段。
?
CFBundleHelpBookFolder
CFBundleHelpBookFolder字段含有該bundle的幫助文件的文件夾名字。幫助通常被本地化成一種指定的語言,所以該字段指向的文件夾應該是所選擇語言的.lproj目錄中的文件夾。
?
CFBundleHelpBookName
CFBundleHelpBookName指定了您的應用程序的幫助主頁。該字段指定的幫助頁面名可以和HTML文件名不同。在幫助文件META標簽的CONTENT屬性中指定了幫助頁面名。
?
CFBundleIconFile
CFBundleIconFile字段指定了包含該bundle圖標的文件。您給出的文件名不需要包含“.icns”擴展名。Finder會在該bundle的“Resource”文件夾內尋找圖標文件。
如果您的bundle使用了自定義的圖標,那您就必須指定該屬性。假如您沒有指定,Finder(和其他應用程序)會使用缺省的圖標來顯示您的bundle。
?
CFBundleIdentifier
CFBundleIdentifier字段指定了bundle的一個唯一的標識字符串。該標識符采用了類似Java包的命名方式,例如com.apple.myapp。該bundle標識符可以在運行時定位bundle。預置系統使用這個字符串來唯一地標識每個應用程序。
?
CFBundleInfoDictionaryVersion
CFBundleInfoDictionaryVersion字段指定了屬性列表結構的當前版本號。該字段的存在使得可以支持Info.plist格式將來的版本。在您建立一個bundle時,Project Builder會自動產生該字段。
?
CFBundleName
CFBundleName指定了該bundle的簡稱。簡稱應該小于16個字符并且適合在菜單和“關于”中顯示。通過把它加入到適當的.lproj子文件夾下的InfoPlist.strings文件中,該字段可以被本地化。如果您本地化了該字段,那您也應該提供一個CFBundleDisplayName字段的本地化版本。
?
CFBundlePackageType
CFBundlePackageType字段指定了bundle的類型,類似于Mac OS 9的文件類型代碼。該字段的值包含一個四個字母長的代碼。應用程序的代碼是‘APPL’;框架的代碼是‘FMWK’;可裝載bundle的代碼是‘BND’。如果您需要,您也可以為可裝載bundle選擇其他特殊的類型代碼。
?
CFBundleShortVersionString
CFBundleShortVersionString字段指定了bundle的版本號。一般包含該bundle的主、次版本號。這個字符串的格式通常是“n.n.n”(n表示某個數字)。第一個數字是bundle的主要版本號,另兩個是次要版本號。該字段的值會被顯示在Cocoa應用程序的關于對話框中。
該字段不同于CFBundleVersion,它指定了一個特殊的創建號。而CFBundleShortVersionString的值描述了一種更加正式的并且不隨每一次創建而改變的版本號。
?
CFBundleSignature
CFBundleSignature字段指定了bundle的創建者,類似于Mac OS 9中的文件創建者代碼。該字段的值包含四字母長的代碼,用來確定每一個bundle。
?
CFBundleURLTypes
CFBundleURLTypes字段包含了一組描述了應用程序所支持的URL協議的字典。它的用途類似于CFBundleDocumentTypes的作用,但它描述了URL協議而不是文檔類型。每一個字典條目對應一個單獨的URL協議。表A-3列出了在每一個字典條目中使用的字段。
表A-3 CFBundleURLTypes字典的字段
| 字段 | 類型 | 描述 |
| CFBundleTypeRole | String | 該字段定義了那些與URL類型有關的應用程序的角色(即該應用程序與某種文檔類型的關系)。它的值可以是Editer,Viewer,Printer,Shell或None。有關這些值的詳細描述可以參見“ 文檔的配置”。該字段是必須的。 |
| CFBundleURLIconFile | String | 該字段包含了被用于這種URL類型的圖標文件名(不包括擴展名)字符串。 |
| CFBundleURLName | String | 該字段包含了這種URL類型的抽象名稱字符串。為了確保唯一性,建議您使用Java包方式的命名法則。這個名字作為一個字段也會在InfoPlist.strings文件中出現,用來提供該類型名的可讀性版本。 |
| CFBundleURLSchemes | Array | 該字段包含了一組可被這種類型處理的URL協議。例如:http,ftp等。 |
?
CFBundleVersion
CFBundleVersion字段指定了一個字符串用來標識創建號。該字段的值通常隨每一次創建而改變,并且會被顯示在Cocoa”關于”對話框中的擴號里。
為了指定一個發布版的bundle的版本信息,可以使用CFBundleShortVersionString字段。參見“CFBundleShortVersionString”。
?
應用程序特定的字段
表A-4列出了僅用于應用程序bundle的字段:
表A-4應用程序特定的字段
| 字段 | 類型 | 是否必須 | 摘要 |
| CFAppleHelpAnchor | String | No | 該bundle的初始HTML幫助文件。 |
| NSAppleScriptEnabled | String | No | 指定是否支持AppleScript。 |
| NSHumanReadableCopyright | String | Yes | 顯示在對話框中的版權信息。 |
| NSJavaNeeded | Boolean or String | No | 指定該程序是否需要一個Java虛擬機。 |
| NSJavaPath | Array | No | 一組Java類所在的路徑(前面需要加上NSJavaRoot)。 |
| NSJavaRoot | String | No | 包含Java類的根目錄。 |
| NSMainNibFile | String | Yes | 應用程序的主nib文件名。 |
| NSPrincipalClass | String | Yes | bundle的主類的名字。 |
| NSServices | Array | No | 一組描述了由應用程序所提供的服務的字典。 |
?
CFAppleHelpAnchor
CFAppleHelpAnchor字段定義了bundle的初始HTML幫助文件名,不需要包括.html或.htm擴展名。這個文件位于bundle的本地化資源目錄中,或者如果沒有本地化資源目錄的話,則直接被放在Resources目錄中。
?
NSAppleScriptEnabled
NSAppleScriptEnabled字段說明了該應用程序是否支持AppleScript。如果您的應用程序支持,就需要把該字符串的值設為“Yes”。
?
NSHumanReadableCopyright
NSHumanReadableCopyright字段包含了一個含有bundle的版權信息的字符串。您可以在“關于”對話框中顯示它。該字段通常會出現在InfoPlist.strings文件中,因為往往需要本地化該字段的值。
?
NSJavaNeeded
NSJavaNeeded字段含有一個布爾值,用來確定在執行該bundle的代碼之前Java虛擬機是否需要被載入并運行。您也可以指定一個字符串類型的值“YES”代替布爾型的值。
?
NSJavaPath
NSJavaPath字段包含了一組路徑。每一個路徑指向一個Java類。該路徑相對于由NSJavaRoot字段定義的位置來說,可能是一個絕對路徑也可能是一個相對路徑。開發環境會自動把這些值保存在數組中。
?
NSJavaRoot
NSJavaRoot字段含有一個指向一個目錄的字符串。該目錄是應用程序的Java類文件的根目錄。
?
NSMainNibFile
NSMainNibFile字段包含了一個含有應用程序的主nib文件名(不包含.nib文件擴展名)的字符串。一個nib文件作為一個Interface Builder的存檔文件,含有對用戶界面的詳細描述信息以及那些界面中的對象之間的關聯信息。當應用程序被啟動時,主nib文件會被自動裝載。Mac OS X會尋找與應用程序名相匹配的nib文件。
?
NSPrincipalClass
NSPrincipalClass字段定義了一個bundle的主類的名稱。對于應用程序來說,缺省情況下這個名字就是應用程序的名字。
?
NSServices
NSServices包含了一組字典,它詳細說明了應用程序所提供的服務。表A-5列出了用來指定服務的字段。
表 A-5 NSServices字典的字段
| 字段 | 類型 | 描述 |
| NSPortName | String | 該字段指定了由您的應用程序監聽器為接受外部服務請求所提供的端口名稱。 |
| NSMessage | String | 該字段指定了用來調用該服務的實例方法名。在Objective-C中,實例方法的形式是messageName:userData:error:。在Java中,實例方法的形式是messageName(NSPasteBoard.String)。 |
| NSSendTypes | Array | 該字段指定了一組可以被該服務讀取的數據類型名。NSPasteboard類列出了幾個常用的數據類型。您必須包含此字段,NSReturnTypes,或者兩者。 |
| NSReturnTypes | Array | 該字段指定了一組可以被該服務返回的數據類型名。NSPasteboard類列出了幾個常用的數據類型。您必須包含此字段,NSSendTypes,或者兩者。 |
| NSMenuItem | Dictionary | 該字段包含一個字典,它指定了加入Services菜單中的文本。字典中的唯一一個字段被稱為default并且它的值是菜單項的文本。該值必須是唯一的。您可以使用斜杠“/”來指定一個子菜單。例如,Mail/Send出現在Services菜單中時就是一個帶有Send子菜單并且名為Mail的菜單。 |
| NSKeyEquivalent | Dictionary | 該字段是可選的,并且包含一個含有用來請求服務菜單命令的快捷按鍵的字典。與NSMenuItem類似,字典中的唯一一個字段被稱為default并且它的值是單個的字符。用戶可以通過按下Command,Shift功能鍵和相應的字符來請求該快捷按鍵。 |
| NSUserData | String | 該字段是一個可選字符串,它含有您的選擇值。 |
| NSTimeout | String | 該字段是一個可選的數字字符串,它指定了從應用程序請求服務到收到它的響應所需要等待的毫秒數。 |
?
啟動服務字段
啟動服務字段規定了Mac OS X中的應用程序是怎樣被啟動的。這些字段適用于CFM和Mach-O可執行文件。有關CFM和Mach-O可執行文件的詳情可參見“安裝和集成”一章中的“CFM可執行文件”。表A-6列出了啟動服務的字段。
表A-6啟動服務字段
| 字段 | 類型 | 是否必須 | 摘要 |
| LSBackgroundOnly | String | No | 指定了應用程序是否僅僅運行在后臺。(僅適用于Mach-O的應用程序)。 |
| LSPrefersCarbon | String | No | 指定了應用程序是否優先運行在Carbon環境中。 |
| LSPrefersClassic | String | No | 指定了應用程序是否優先運行在Classic環境中。 |
| LSRequiresCarbon | String | No | 指定了應用程序是否必須運行在一個Carbon環境中。 |
| LSRequiresClassic | String | No | 指定了應用程序是否必須運行在一個Classic環境中。 |
| LSUIElement | String | No | 指定了應用程序是否是一個用戶界面組件,即一個應用程序不應該出現在Dock中或強制退出窗口。 |
?
LSBackgroundOnly
如果該字段存在并且被設為“1”,啟動服務將只會運行在后臺。您可以使用該字段來創建無用戶界面的后臺應用程序。如果您的應用程序使用了連接到窗口服務器的高級框架,但并不需要顯示出來,您也應該使用該字段。后臺應用程序必須被編譯成Mach-O可執行文件。該選項不適用于CFM應用程序。
您也可以指定該字段的類型為Boolean或Number。然而,只有Mac OS X 10.2或以上的版本才支持這些類型的值。
?
LSPrefersCarbon
如果該字段被設為“1”,Finder將會在顯示簡介面板中顯示“在Classic環境中打開”控制選項,缺省情況下該控件未被選中。如果需要,用戶可以修改這個控制選項來在Classic環境中啟動應用程序。
您也可以指定該字段的類型為Boolean或Number。然而,只有Mac OS X 10.2或以上的版本才支持這些類型的值。如果您在您的屬性列表中加入了該字段,那么就不要同時加入LSPrefersClassic, LSRequiresCarbon,或LSRequiresClassic字段。
?
LSPrefersClassic
如果該字段被設為“1”,Finder將會在顯示簡介面板中顯示“在Classic環境中打開” 控制選項,缺省情況下該控件被選中。如果需要,用戶可以修改這個控制選項來在Carbon環境中啟動應用程序。
您也可以指定該字段的類型為Boolean或Number。然而,只有Mac OS X 10.2或以上的版本才支持這些類型的值。如果您在您的屬性列表中加入了該字段,那么就不要同時加入LSPrefersCarbon, LSRequiresCarbon,或LSRequiresClassic字段。
?
LSRequiresCarbon
如果該字段被設為“1”,啟動服務將只在Carbon環境中運行應用程序。如果您的應用程序不應該運行在Classic環境中的話,可以使用該字段。
您也可以指定該字段的類型為Boolean或Number。然而,只有Mac OS X 10.2或以上的版本才支持這些類型的值。如果您在您的屬性列表中加入了該字段,那么就不要同時加入LSPrefersCarbon, LSPrefersClassic,或LSRequiresClassic字段。
?
LSRequiresClassic
如果該字段被設為“1”,啟動服務將只在Classic環境中運行應用程序。如果您的應用程序不應該運行在Carbon兼容環境中的話,可以使用該字段。
您也可以指定該字段的類型為Boolean或Number。然而,只有Mac OS X 10.2或以上的版本才支持這些類型的值。如果您在您的屬性列表中加入了該字段,那么就不要同時加入LSPrefersCarbon, LSPrefersClassic,或LSRequiresCarbon字段。
?
LSUIElement
如果該字段被設為“1”,啟動服務會將該應用程序作為一個用戶界面組件來運行。用戶界面組件不會出現在Dock或強制退出窗口中。雖然它們通常作為后臺應用程序運行,但是如果希望的話,它們也可以在前臺顯示一個用戶界面。點擊屬于用戶界面組件的窗口,應用程序將會處理產生的事件。
Dock和登錄窗口是兩個用戶界面組件應用程序。
?
應用程序包字段
應用程序打包的目的是把一個應用程序打包成一個自我包含的實體,并且對用戶隱藏了它的內容。然而,用戶常常希望操作應用程序的某些文件。例如,用戶可能希望添加或刪除某個插件,本地化資源,等等。開發者可以在Info.plist 文件中指定一些可以由用戶維護的項目。那么Finder會把這些項目顯示在bundle的信息面板中,并允許用戶瀏覽,刪除或添加這些項目。
?
CFBundleInstallerInfo
應用程序打包信息的根字段是CFBundleInstallerInfo。該字段定義了一個字典,它包含了表A-7中所列出的字段。“是否必須”列指出了哪些是您必須支持的功能。
表A-7應用程序打包字段
| 字段 | 類型 | 是否必須 | 摘要 |
| APInstallerURL | String | Yes | 一個指向您希望安裝的文件的URL路徑。 |
| APFiles | Array | Yes | 一組字典,描述了那些可以被安裝的文件或目錄。 |
?
APInstallerURL
APInstallerURL字段指定了一個指向您希望安裝的文件的路徑。您必須以file://localhost/path/ 形式來說明這個路徑。所有被安裝的文件必須位于這個文件夾中。
?
APFiles
APFiles字段指定了一個字典,描述了您希望安裝的文件。每個字典條目可以包含某個文件或目錄的描述。您可以讓APFiles 字段包含在其自身中,用于指定在目錄內部的文件。表A-8列出了用來指定有關單個文件或目錄的信息。
表A-8 APFiles字典字段
| 字段 | 類型 | 描述 |
| APFileDescriptionKey | String | 用來顯示在Finder的信息窗口中的簡短描述。 |
| APDisplayedAsContainer | String | 如果值為“Yes”,該項目作為一個目錄圖標顯示在信息面板中;否則,它被顯示為一個文檔圖標。 |
| APFileDestinationPath | String | 一個安裝組件的相對路徑。 |
| APFileName | String | 文件或目錄的名稱。 |
| APFileSourcePath | String | 指向應用程序包中組件的路徑,相對與APInstallerURL路徑。 |
| APInstallAction | String | 操縱組件的動作:“Copy”或者“Open” |
?
?
?UIFileSharingEnabled?? 應用程序支持itunes共享文件夾 ? 值為 boolean 值?? YES 共享;? NO 不共享
這個字段在字段編輯器中的名稱為: Application supports iTunes file sharing
?
整理自http://blog.csdn.net/zaitianaoxiang/article/details/6650491
?
?
轉載于:https://blog.51cto.com/3426724/1107632
總結
以上是生活随笔為你收集整理的iOS开发 plist字段列表,很全的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: API之子窗口创建 (转)
- 下一篇: 非彼拉且数列的实现