表 A-2 CFBundleDocumentTypes字典的關鍵字
關鍵字類型描述CFBundleTypeExtensionsArray該關鍵字包含了一組映射到這個類型的文件擴展名。為了打開具有任何擴展名的文檔,可以用單個星號“*”。該關鍵字是必須的。CFBundleTypeIconFileString該關鍵字指定了系統顯示該類文檔時使用的圖標文件名,該圖標文件名的擴展名是可選的。如果沒有擴展名,系統會根據平台指定一個(例如,Mac OS 9中的.icons)。CFBundleTypeNameString該關鍵字包含了這種文檔類型的抽象名稱。通過在適當的InforPlist.strings文件中包含該關鍵字,可以實現對它的本地化。CFBundleTypeOSTypesArray該關鍵字包含了一組映射到這個類型的四字母長的類型代碼。為了打開所有類型的文檔,可以把它設為“****”。該關鍵字是必須的。CFBundleTypeRoleString該關鍵字定義了那些與文檔類型有關的應用程序的角色。它的值可以是Editer,Viewer,Printer,Shell或None。有關這些值的詳細描述可以參見“ 文檔的配置”。該關鍵字是必須的。NSDocumentClassString該關鍵字描述了被用來實例化文檔的NSDocument子類。僅供Cocoa應用程序使用。NSExportableAsArray該關鍵字描述了一組可以輸出的文檔類型。僅供Cocoa應用程序使用。
CFBundleExecutable
CFBundleExecutable 標識了束的可執行主文件的名稱。對於一個應用程序來說,就是該應用程序的可執行文件。對於一個可加載束,它是一個可以被束動態加載的二進制文件。對於一個框架,它是一個共享庫。Project Builder會自動把該關鍵字加入到合適項目的Info.plist文件中。
對於框架,考慮到啟動效率的原因,可執行文件名需要和框架名同名。該可執行文件名不應該包含可用於多種平台的擴展名。
注意
您必須在束的Info.plist文件中包含一個有效的CFBundleExecutable關鍵字。即使當用戶重命名應用程序或束的目錄時,Mac OS X也可以使用這個關鍵字來定位可執行文件和共享庫。
CFBundleGetInfoHTML
CFBundleGetInfoHTML關鍵字含有會在束的信息窗口中顯示的HTML字符串。如果您希望在信息窗口中有更強的表現力,可以使用這個鍵值對來替代純文本的CFBundleGetInfoString。通過把它加入到合適的.lproj目錄中的InfoPlist.strings文件中,您也可以本地化該字符串。
如果CFBundleGetInfoString和CFBundleGetInfoHTML同時存在的話,系統會選擇使用CFBundleGetInfoHTML。
CFBundleGetInfoString
CFBundleGetInfoString關鍵字含有會在束的信息窗口中顯示的純文本字符串(這裡的字符串也就是Mac OS 9中的長字符串)。該關鍵字的格式應該遵照Mac OS 9中的長字符串,例如:“2.2.1, ? Great Software, Inc, 1999”。通過把它加入到合適的.lproj目錄中的InfoPlist.strings文件中,您也可以本地化該字符串。
如果存在CFBundleGetInfoHTML的話,系統不會選擇使用該關鍵字。
CFBundleHelpBookFolder
CFBundleHelpBookFolder關鍵字含有該束的幫助文件的文件夾名字。幫助通常被本地化成一種指定的語言,所以該關鍵字指向的文件夾應該是所選擇語言的.lproj目錄中的文件夾。
CFBundleHelpBookName
CFBundleHelpBookName指定了您的應用程序的幫助主頁。該關鍵字指定的幫助頁面名可以和HTML文件名不同。在幫助文件META標簽的CONTENT屬性中指定了幫助頁面名。
CFBundleIconFile
CFBundleIconFile關鍵字指定了包含該束圖標的文件。您給出的文件名不需要包含“.icns”擴展名。Finder會在該束的“Resource”文件夾內尋找圖標文件。
如果您的束使用了自定義的圖標,那您就必須指定該屬性。假如您沒有指定,Finder(和其他應用程序)會使用缺省的圖標來顯示您的束。
CFBundleIdentifier
CFBundleIdentifier關鍵字指定了束的一個唯一的標識字符串。該標識符采用了類似Java包的命名方式,例如com.apple.myapp。該束標識符可以在運行時定位束。預置系統使用這個字符串來唯一地標識每個應用程序。
CFBundleInfoDictionaryVersion
CFBundleInfoDictionaryVersion關鍵字指定了屬性列表結構的當前版本號。該關鍵字的存在使得可以支持Info.plist格式將來的版本。在您建立一個束時,Project Builder會自動產生該關鍵字。
CFBundleName
CFBundleName指定了該束的簡稱。簡稱應該小於16個字符並且適合在菜單和“關於”中顯示。通過把它加入到適當的.lproj子文件夾下的InfoPlist.strings文件中,該關鍵字可以被本地化。如果您本地化了該關鍵字,那您也應該提供一個CFBundleDisplayName關鍵字的本地化版本。
CFBundlePackageType
CFBundlePackageType關鍵字指定了束的類型,類似於Mac OS 9的文件類型代碼。該關鍵字的值包含一個四個字母長的代碼。應用程序的代碼是‘APPL’;框架的代碼是‘FMWK’;可裝載束的代碼是‘BND’。如果您需要,您也可以為可裝載束選擇其他特殊的類型代碼。
CFBundleShortVersionString
CFBundleShortVersionString關鍵字指定了束的版本號。一般包含該束的主、次版本號。這個字符串的格式通常是“n.n.n”(n表示某個數字)。第一個數字是束的主要版本號,另兩個是次要版本號。該關鍵字的值會被顯示在Cocoa應用程序的關於對話框中。
該關鍵字不同於CFBundleVersion,它指定了一個特殊的創建號。而CFBundleShortVersionString的值描述了一種更加正式的並且不隨每一次創建而改變的版本號。
CFBundleSignature
CFBundleSignature關鍵字指定了束的創建者,類似於Mac OS 9中的文件創建者代碼。該關鍵字的值包含四字母長的代碼,用來確定每一個束。
CFBundleURLTypes
CFBundleURLTypes關鍵字包含了一組描述了應用程序所支持的URL協議的字典。它的用途類似於CFBundleDocumentTypes的作用,但它描述了URL協議而不是文檔類型。每一個字典條目對應一個單獨的URL協議。表A-3列出了在每一個字典條目中使用的關鍵字。
表A-3 CFBundleURLTypes字典的關鍵字
關鍵字類型描述CFBundleTypeRoleString該關鍵字定義了那些與URL類型有關的應用程序的角色(即該應用程序與某種文檔類型的關系)。它的值可以是Editer,Viewer,Printer,Shell或None。有關這些值的詳細描述可以參見“ 文檔的配置”。該關鍵字是必須的。CFBundleURLIconFileString該關鍵字包含了被用於這種URL類型的圖標文件名(不包括擴展名)字符串。CFBundleURLNameString該關鍵字包含了這種URL類型的抽象名稱字符串。為了確保唯一性,建議您使用Java包方式的命名法則。這個名字作為一個關鍵字也會在InfoPlist.strings文件中出現,用來提供該類型名的可讀性版本。CFBundleURLSchemesArray該關鍵字包含了一組可被這種類型處理的URL協議。例如:http,ftp等。CFBundleVersion
CFBundleVersion關鍵字指定了一個字符串用來標識創建號。該關鍵字的值通常隨每一次創建而改變,並且會被顯示在Cocoa"關於"對話框中的擴號裡。
為了指定一個發布版的束的版本信息,可以使用CFBundleShortVersionString關鍵字。參見“CFBundleShortVersionString”。
摘自 雲懷空-abel