你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS開發info.plist一些字段含義

iOS開發info.plist一些字段含義

編輯:IOS開發綜合

Info.plist 用於向 iOS 提供關於 app , bundle 或者 framework 的一些重要信息。它指定了比如一個應用應該怎樣啟動,它如何被本地化,應用的名稱,要顯示的圖標,還有更多。 Info.plist 文件實際上是蘋果預定義 schema 的 XML 文件。

為了構建一個設備相關的健,你在健的後面要加上 ~iphone 或者 ~ipad 。

常用字段:

1. 獲取版本信息:

NSDictionary*infoDic = [[NSBundle mainBundle] infoDictionary];

NSString *localVersion = [infoDic objectForKey: @"CFBundleShortVersionString" ];

2 . 應用支持 http 網絡請求 :

在 Info.plist 中添加 NSAppTransportSecurity 類型 Dictionary 。 在 NSAppTransportSecurity 下添加 NSAllowsArbitraryLoads 類型 Boolean , 值設為 YES

注意類型 NSAppTransportSecurity 為 Dictionary , NSAllowsArbitraryLoads 為 Boolean ,復制粘貼的時候,不要多了空格, segment fault 頁面上直接復制,經常會多一個出空格!

控制應用的名稱:

表A-1 控制應用的名稱

字段

類型

是否必須

摘要

CFBundleName

String

Yes

bundle的簡稱, 這個健指定了你的應用的名稱

CFBundleDisplayName String

No

本地化的bundle名, 本地化,可以通過 InfoPlist.strings 文件來為每個語言指定一個合適的值

CFBundleDisplayName

CFBundleDisplayName 字段指定了一個字符串值來標識 bundle 的顯示名稱。 Finder 和其他用戶界面組件會把它顯示給用戶。這個名 稱可以與文件系統中的 bundle 名不同。通過把字段加入適當的 .lproj 子目錄中的 InfoPlist.strings 文件,就可以實現該字段的本地 化。如果您需要本地化這個字段,您還應該提供一個 CFBundleName 字段的本地化版本。

CFBundleName

CFBundleName 指定了該 bundle 的簡稱。簡稱應該小於 16 個字符並且適合在菜單和 “ 關於 ” 中顯示。通過把它加入到適當的 .lproj 子文件 夾下的 InfoPlist.strings 文件中,該字段可以被本地化。如果您本地化了該字段,那您也應該提供一個 CFBundleDisplayName 字段的本地化版本。

應用標識+應用版本:

表A-2應用標識+應用版本

字段

類型

是否必須

摘要

CFBundleIdentifier

String

YES

該bundle的唯一標識字符串。該字符串的格式類似java包的命名方式,例如:com.apple.myapp。

CFBundleShortVersionString

String

YES

這個值是一個字符串,用來指定你在 APP Store 上面看的的版本號,這個值必須在每一次 App Store 發布版本中遞增

CFBundleVersion

String

YES

可執行文件的創建號, 這個健的值是一個證書,你可以在每一次發布時增加它。

CFBundleIdentifier

CFBundleIdentifier 字段指定了 bundle 的一個唯一的標識字符串。該標識符采用了類似 Java 包的命名方式,例如 com.apple.myapp 。該 bundle 標識符可以在運行時定位 bundle 。預置系統使用這個字符串來唯一地標識每個應用程序。

它包含一個唯一標識的字符串,它是從你在 iOS Provisioning Portal 創建的 App ID取得的 App ID 包含兩個部分: Team ID 和 Bundle ID

CFBundleShortVersionString

CFBundleShortVersionString 字段指定了 bundle 的版本號。一般包含該 bundle 的主、次版本號。這個字符串的格式通常是 “n.n.n” ( n 表示某個數字)。第一個數字是bundle 的主要版本號,另兩個是次要版本號。該字段的值會被顯示在 Cocoa 應用程序的關於對話框 中。

該字段不同於 CFBundleVersion ,它指定了一個特殊的創建號。而 CFBundleShortVersionString 的值描述了一種更加正式的並且不隨每一次創建而改變的版本號。

CFBundleVersion

CFBundleVersion 字段指定了一個字符串用來標識創建號。該字段的值通常隨每一次創建而改變,並且會被顯示在 Cocoa” 關於 ” 對話框中的擴號裡。

為了指定一個發布版的 bundle 的版本信息,可以使用 CFBundleShortVersionString字段。參見 “CFBundleShortVersionString” 。

獲取用戶權限信息:

用來訪問用戶信息的 Reason strings iOS6 中需要從用戶那裡得到授權的數據

//Calendars,Contacts Location,Photos,Reminders

表A-3 獲取用戶權限信息

字段

類型

是否必須

摘要

NSCalendarsUsageDescription

String

No

當應用第一次視圖訪問用戶的日歷的時候,會出現一個彈出框來向用戶請求權限。如果你對這個鍵設置了一個值,那麼這個值將會顯示在彈出框中

NSContactsUsageDescription

String

No

應用第一次嘗試訪問用戶的通訊錄的時候,會出現一個彈出框申請權限。就像是前一個鍵,你對這個鍵指定的值,將會顯示在彈出框中

NSPhotoLibraryUsageDescription

String

No

同上,照片

NSRemindersUsageDescription

String

No

同上,備忘錄

NSLocationUsageDescription

String

No

同上,位置信息

應用圖標:

表A-4 應用圖標

字段

類型

是否必須

摘要

CFBundleIconFile

String

No

圖標文件的文件名- 在 3.2 版本被廢棄

UIPrerendered Icon

Boolean

No

這個鍵自從第一個 iOS SDK就有了,它告訴 iOS 是否給你應用的圖標添加光照效果

CFBundleIconFiles

Array No

這個鍵的引入,是用來處理在 iPad 和 retina 屏幕的出現時,所需圖標數量的增長的。這個健的值應該是一個字符串數組 - 在 5.0 版本被廢棄 CFBundleExecutable

CFBundleIcons

NSDictionary

No

這個健是 iOS 5.0 增加的,可以讓開發者指定 Newsstand圖標和普通應用的圖標

CFBundleIconFile

CFBundleIconFile 字段指定了包含該 bundle 圖標的文件。您給出的文件名不需要包含 “.icns” 擴展名。 Finder 會在該 bundle 的 “Resource” 文件夾內尋找圖標文件。

如果您的 bundle 使用了自定義的圖標,那您就必須指定該屬性。假如您沒有指定,Finder (和其他應用程序)會使用缺省的圖標來顯示您的 bundle 。

控制應用初始化啟動:

表A-5 控制應用初始化啟動

字段

類型

是否必須

摘要

UILaunchImageFile

String

No

啟動圖片

NSMainNibFile

String

No

應用程序的主nib文件名, 如果你用 NIB 的話,這個就是一個很重要的鍵。它指定了當你應用啟動的時候,用於創建初始化窗口和相關對象的 NIB 文件

UIMainStoryboardFile

String

No

如果你用 Storyboard 的話,這是一個很重要的鍵。它指定可一個 storyboard 文件,用於在應用啟動的時候創建初始界面

NSMainNibFile

NSMainNibFile 字段包含了一個含有應用程序的主 nib 文件名(不包含 .nib 文件擴展名)的字符串。一個 nib 文件作為一個 Interface Builder 的存檔文件,含有對用戶界面的詳細描述信息以及那些界面中的對象之間的關聯信息。當應用程序被啟動時,主 nib 文件會被自動裝載。 Mac OS X 會尋找與應用程序名相匹配的 nib 文件。

用戶界面:

表A-6 用戶界面

字段

類型

是否必須

摘要

UISupportedInterfaceOrientations

Array

No

這個鍵的值是一個你應用支持的屏幕方向的數組

UIInterfaceOrientation

String

No

如果你的應用值支持一個方向,那麼你應該設置這個鍵。它保證在你應用啟動的時候,狀態欄在正確的方向,而不是啟動的時候在一個方向,然後又通過動畫移動到另外一個方向。

UIStatusBarStyle

String

No

設置應用啟動時狀態欄的初始風格

UIStatusBarHidden

BOOL

No

這個鍵表示,在應用啟動的時候,狀態欄是否隱藏。

UIStatusBarTintParameters

NSDictionary

No

狀態欄可以進行一些美化

UISupportedInterfaceOrientations

這個鍵的值是一個你應用支持的屏幕方向的數組。可用選項有:

UIInterfaceOrientationPortrait : Home 鍵在下方的豎屏模式

UIInterfaceOrientationPortraitUpsideDown : Home 鍵在上方的豎屏模式

UIInterfaceOrientationLandscapeLeft : Home 鍵在左方的豎屏模式

UIInterfaceOrientationLandscapeRight : Home 鍵在右方的豎屏模式

UIStatusBarStyle

這個鍵設置應用啟動時狀態欄的初始風格。 UIStatusBarStyle 的枚舉值:

UIStatusBarStyleDefault 、 UIStatusBarStyleBlackTranslucent 、

UIStatusBarStyleBalackOpaque

UIStatusBarTintParameters

在 iOS6 中狀態欄可以進行一些美化 , 在這個字典中又四個鍵:

Style :表示導航條的 barStyle 屬性

Translucent :表示導航條的 translucent 屬性

TintColor :這個指定了導航條的修飾顏色。

groundImage :如果你的導航條有背景圖片,那麼在這裡把圖片的文件名寫上。

應用控制:

表A-7 應用控制

字段

類型

是否必須

摘要

UIRequiredDeviceCapabilities

Array/Dictionary

No

它能讓你指定設備必須要有的特性,或者設備必須不能有的特性

UIBackgroundModes

Array

No

當你需要你的應用在後台運行時,就需要這個後台模式,數組裡包含應用需要的所有後台模式

MKDirectionsApplicationSupportedModes

Array

No

這個iOS6新增加的一個鍵。它允許你為特定的區域和交通模式指定你的應用的路由信息

UIDeviceFamily

Number/Array

No

Xcode自動添加這個鍵,所以你不需要自己添加。它表示應用支持哪些設備

CFBundleGetInfoHTML

UIAppFonts

Array

No

如果你需要額外的字體。這個鍵可以為你的應用添加非標准的字體

UIApplicationExitsOnSuspend

Boolean

No

如果這個鍵設置為 true ,那麼應用將會直接中斷,而不是切換到後台

UIFileSharingEnabled

Boolean

No

如果你希望用戶能用iTunes的文件共享功能將文件從你的應用的document目錄傳入或傳出,那麼你需要設置這個鍵的值為 true

UINewsstandApp

Boolean

No

如果 你的應用時Newsstand類型的,那麼你應該將這個鍵設置為 true

UIRequiresPersistentWiFi

Boolean

No

iOS在默認情況下,如果設備30 分鐘沒有活動,它就會關閉WiFi連接。如果你設置這個鍵的值為 true ,那麼這個行為會被覆蓋,只要你的應用是打開的,網絡連接就不會關閉

UISupportedExternalAccessoryProtocols

Array

No

這個鍵指定了和附加的硬件設備通訊的協議

UIBackgroundModes

當你需要你的應用在後台運行時,就需要這個後台模式 , 數組裡包含應用需要的所有後台模式,可以從以下幾個值裡面 選擇: audio :使用音頻框架來播放或者錄制音頻 location :需要在後台訪問用戶的位置信息 voip :這個應用支持 IP 語音,需要在後台進行 Internet 連接和音頻播放 newsstand-content :使用 Newsstand API 在後台下載並處理內容,這允許當一個代表有新的可用發布的推送 發進來的時候喚醒應用 external-accessory :使用 External Accessory 框架來和外部的設備驚醒通訊

bluetooth-central :使用 CoreBluetooth 框架和外部設備進行通訊

高級視圖控制:

表A-8 高級視圖控制

字段

類型

是否必須

摘要

UIViewEdgeAntialiasing

Boolean

No

默認情況下,你的視圖被 iOS 的渲染系統繪制,不包括反鋸齒功能。這是因為不是用反鋸齒運行速度會快很多

UIViewGroupOpacity

Boolean

No

當你設置了視圖的透明度,它所有的子視圖都被渲染成同樣的透明度,但會在它後面被渲染

Core OS **** 以下為系統自動修改,無需手動修改****:

表A-9 Core OS

字段

類型

是否必須

摘要

LSRequiresIPhoneOS

Boolean

No

這個鍵時 iOS 應用運行在設備上面必須的,並且它的值必須時 true

CFBundlePackageType

String

No

用來標識bundle類型的四個字母長的代碼( 在 iOS 中,你至處理應用,但在 Mac 中, Info.plst 還可以引用其他類型的項目

)

CFBundleInfoDictionaryVersion

String

Yes

Info.plist格式的版本信息, Info.plst 的結構很可能會隨著時間改變,那麼就需要告訴操作系統,當前這個文件對應的版本是什麼。

CFBundleExecutable

String

Yes

該bundle的可執行文件名, iOS 中的應用會被打包成 .app 文件。在這個文件中包含了所有的資源,並且還有一個可執行文件。這個鍵時一個字符串,用來指定可執行文件的名稱。

CFBundleSignature

String

Yes

用來標識創建者的四個字母長的代碼, 這個鍵和 Mac 有關,和 iOS 沒有特別的關系。

CFBundlePackageType

CFBundlePackageType 字段指定了 bundle 的類型,類似於 Mac OS 9 的文件類型代碼。該字段的值包含一個四個字母長的代碼。應用程序的代碼是 ‘APPL’ ;框架的代碼是 ‘FMWK’ ;可裝載 bundle 的代碼是 ‘BND’ 。如果您需要,您也可以為可裝載 bundle 選擇其他特殊的類型代碼。

CFBundleInfoDictionaryVersion

CFBundleInfoDictionaryVersion 字段指定了屬性列表結構的當前版本號。該字段的存在使得可以支持 Info.plist 格式將來的版本。在您建立一個 bundle 時, Project Builder 會自動產生該字段。

CFBundleExcutable

CFBundleExecutable 標識了 bundle 的可執行主文件的名稱。對於一個應用程序來說 , 就是該應用程序的可執行文件。對於一個可加載 bundle, 它是一個可以被 bundle動態加載的二進制文件。對於一個框架,它是一個共享庫。 Project Builder 會自動把該字段加入到合適項目的 Info.plist 文件中。 對於框架,考慮到啟動效率的原因,可執行文件名需要和框架名同名。該可執行文件名不應該包含可用於多種平台的擴展名。

注意您必須在 bundle 的 Info.plist 文件中包含一個有效的 CFBundleExecutable 字段。即使當用戶重命名應用程序或 bundle 的目錄時, Mac OS X 也可以使用這個字段來定位可執行文件和共享庫。

CFBundleSignature

CFBundleSignature 字段指定了 bundle 的創建者,類似於 Mac OS 9 中的文件創建者代碼。該字段的值包含四字母長的代碼,用來確定每一個 bundle 。

本地化:

表A-10 本地化

字段

類型

是否必須

摘要

CFBundleLocalizations

Array

No

系統通過查找你應用提供的 Iproj 目錄來決定你的應用支持哪些語言地區。這個鍵的值是一個字符串數組,數組中的每一個值都代表支持的地區

CFBundleDevelopmentRegion

String

No

當你開發你的應用的時候,你通常會使用你本地的語言來寫它。這個鍵的值是一個字符串,如果用戶請求的區域沒有

必須的資源的話,它用來表示默認的本地化區域

自定義URL和文檔類型:

表A-11 自定義URL和文檔類型

字段

類型

是否必須

摘要

CFBundleURLTypes

Array

No

一組描述了該bundle所支持的URL協議的字典。 這個鍵可以讓你指定一個你的應用支持的 URL 的一個數組

CFBundleDocumentTypes

Array

No

一組描述了該bundle所支持的文檔類型的字典。 這個鍵可以讓你指定你的應用可以處理哪種類型的文檔 , 這個數組中的值都是一個字典

UIImportedTypeDeclarations

Array No

為了允許你的應用打開那些不屬於它的類型,你需要導入那個 UTI ,並且這個時你要用到的鍵

CFBundleURLTypes

CFBundleURLTypes 字段包含了一組描述了應用程序所支持的 URL 協議的字典。它的用途類似於 CFBundleDocumentTypes 的 作用,但它描述了 URL 協議而不是文檔類型。每一個字典條目對應一個單獨的 URL 協議, 每一個都代表你應用支持的一種 URL 規則。表 A-11-1 列出了在每一個字典條目中使用的字段。

表A-11-1 CFBundleURLTypes字典的字段

字段

類型

描述

CFBundleTypeRole String

該字段定義了那些與 URL 類型有關的應用程序的角色(即該應用程序與某種文檔類型的關系)。它的值可以是 Editer , Viewer , Printer , Shell或 None 。有關這些值的詳細描述可以參見 “ 文檔的配置 ” 。該字段是必須的。( 當打開這個 URL 時你的應用所扮演的角色)

CFBundleURLIconFile String

該字段包含了被用於這種 URL 類型的圖標文件名(不包括擴展名)字符串。( 指定對這種 URL 所使用的圖標的文件名)

CFBundleURLName String

該字段包含了這種 URL 類型的抽象名稱字符串。為了確保唯一性,建議您使用 Java 包方式的命名法則。這個名字作為一個字段也會在 InfoPlist.strings 文件中出現,用來提供該類型名的可讀性版本。( 這應該時一個唯一的字符串,用來區分不同的URL 類型)

CFBundleURLSchemes Array

該字段包含了一組可被這種類型處理的 URL 協議。例如: http,ftp 等。( 字符串數組,每一個元素代表這個規則支持的 URL )

CFBundleDocumentTypes

CFBundleDocumentTypes 字段保存了一組字典,它包含了該應用程序所支持的文檔類型。每一個字典都被稱做類型定義字典,並且包含了用於定義文檔類型的字段。 表 A-11- 2 列 出了類型定義字典中支持的字段。

表 A-11-2 CFBundleDocumentTypes字典的字段

字段

類型

描述

CFBundleTypeExtensions Array

該字段包含了一組映射到這個類型的文件擴展名。為了打開具有任何擴展名的文檔,可以用單個星號 “*” 。該字段是必須的。

CFBundleTypeIconFile

String

圖標文件的數組,該字段指定了系統顯示該類文檔時使用的圖標文件名,該圖標文件名的擴展名是可選的。如果沒有擴展名,系統會根據平台指定一個(例如, Mac OS 9 中的 .icons )。

CFBundleTypeName String

該字段包含了這種文檔類型的抽象名稱。通過在適當的 InforPlist.strings 文件中包含該字段,可以實現對它的本地化。( 唯一的字符串,區分 URL 類型)

CFBundleTypeOSTypes Array

該字段包含了一組映射到這個類型的四字母長的類型代碼。為了打開所有類型的文檔,可以把它設為 “****” 。該字段是必須的。

CFBundleTypeRole String

該字段定義了那些與文檔類型有關的應用程序的角色。它的值可以是 Editer , Viewer , Printer , Shell 或 None 。有關這些值的詳細描述可以參見 “ 文檔的配置 ”。該字段是必須的。

NSDocumentClass String

該字段描述了被用來實例化文檔的 NSDocument 子類。僅供 Cocoa 應用程序使用。

NSExportableAs Array

該字段描述了一組可以輸出的文檔類型。僅供 Cocoa 應用程序使用。

使用iCloud:

表A-12 使用iCloud

字段

類型

是否必須

摘要

NSUbiquitousDisplaySet

String

No

iCloud 使用這個鍵來表示你應用的文件存儲。可以把它想象成 iCloud 中的一個目錄用來存放你應用中的文件

Bundle核心字段:

Mac OS X 為描述 bundle 的信息提供了一組核心字段。集成開發環境會賦予這些字段缺省值。表 A- 13 列出了這些字段。

表A-13 標准字段概要:

字段

類型

是否必須

摘要

CFBundleDevelopmentRegion

String

No

該bundle的地區。通常對應於作者的母語 。

CFBundleGetInfoHTML

String

No

用來在Finder的Get Info 面板中顯示的更豐富內容的字符串 。

CFBundleGetInfoString

String

No

用來在Finder的Get Info 面板中顯示的字符串 。

CFBundleHelpBookFolder

String

No

含有該bundle幫助文件的文件夾名字 。

CFBundleHelpBookName

String

No

當該bundle的幫助啟動時顯示的幫助文件的名字 。

CFBundleDevelopmentRegion

CFBundleDevelopmentRegion 字段指定了一個字符串值來標識 bundle 的地區。通常對應於作者的母語。如果不能找到用戶首選的地區或語言的資源,系統最後會使用該值。

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 屬性中指定了幫助頁面名。

應用程序特定的字段:

表A-14 應用程序特定的字段:

字段

類型

是否必須

摘要

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 類文件的根目錄

NSPrincipalClass

NSPrincipalClass 字段定義了一個 bundle 的主類的名稱。對於應用程序來說,缺省情況下這個名字就是應用程序的名字。

NSServices

NSServices包含了一組字典,它詳細說明了應用程序所提供的服務。表A-5列出了用來指定服務的字段。

表 A-14-1 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-15 啟動服務字段:

字段

類型

是否必須

摘要

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-16-1 應用程序打包字段:

字段

類型

是否必須

摘要

APInstallerURL String Yes 一個指向您希望安裝的文件的URL路徑。

APFiles Array Yes 一組字典,描述了那些可以被安裝的文件或目錄。

APInstallerURL

APInstallerURL 字段指定了一個指向您希望安裝的文件的路徑。您必須以 file://localhost/path/ 形式來說明這個路徑。所有被安裝的文件必須位於這個文件夾中。

APFiles

APFiles 字段指定了一個字典,描述了您希望安裝的文件。每個字典條目可以包含某個文件或目錄的描述。您可以讓 APFiles 字段包含在其自身中,用於指定在 目錄內部的文件。表 A- 8 列出了 用來指定有關單個文件或目錄的信息。

表A-16-2 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

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved