欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Xcode中Info.plist字段詳解

 更新時(shí)間:2018年01月22日 11:03:22   投稿:laozhang  
我們通過本篇文章給大家整理了Xcode中Info.plist字段的詳細(xì)內(nèi)容,有需要的朋友學(xué)習(xí)下。

Info.plist用于向iOS提供關(guān)于app,bundle或者framework的一些重要信息。它指定了比如一個(gè)應(yīng)用應(yīng)該怎樣啟動(dòng),它如何被本地化,應(yīng)用的名稱,要顯示的圖標(biāo),還有更多。Info.plist文件實(shí)際上是蘋果預(yù)定義schema的XML文件。

為了構(gòu)建一個(gè)設(shè)備相關(guān)的健,你在健的后面要加上~iphone或者~ipad。

常用字段:

1.獲取版本信息:

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

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

2.應(yīng)用支持http網(wǎng)絡(luò)請(qǐng)求:

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

注意類型NSAppTransportSecurity為Dictionary,NSAllowsArbitraryLoads為Boolean,復(fù)制粘貼的時(shí)候,不要多了空格,segment fault 頁面上直接復(fù)制,經(jīng)常會(huì)多一個(gè)出空格!

控制應(yīng)用的名稱:

表A-1 控制應(yīng)用的名稱

字段

類型

是否必須

摘要

CFBundleName

String

Yes

bundle的簡(jiǎn)稱, 這個(gè)健指定了你的應(yīng)用的名稱

CFBundleDisplayName String

No

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

CFBundleDisplayName

CFBundleDisplayName字段指定了一個(gè)字符串值來標(biāo)識(shí)bundle的顯示名稱。Finder和其他用戶界面組件會(huì)把它顯示給用戶。這個(gè)名 稱可以與文件系統(tǒng)中的bundle名不同。通過把字段加入適當(dāng)?shù)?lproj子目錄中的InfoPlist.strings文件,就可以實(shí)現(xiàn)該字段的本地 化。如果您需要本地化這個(gè)字段,您還應(yīng)該提供一個(gè)CFBundleName字段的本地化版本。

CFBundleName

CFBundleName指定了該bundle的簡(jiǎn)稱。簡(jiǎn)稱應(yīng)該小于16個(gè)字符并且適合在菜單和“關(guān)于”中顯示。通過把它加入到適當(dāng)?shù)?lproj子文件 夾下的InfoPlist.strings文件中,該字段可以被本地化。如果您本地化了該字段,那您也應(yīng)該提供一個(gè) CFBundleDisplayName字段的本地化版本。

應(yīng)用標(biāo)識(shí)+應(yīng)用版本:

表A-2應(yīng)用標(biāo)識(shí)+應(yīng)用版本

字段

類型

是否必須

摘要

CFBundleIdentifier

String

YES

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

CFBundleShortVersionString

String

YES

這個(gè)值是一個(gè)字符串,用來指定你在APP Store上面看的的版本號(hào),這個(gè)值必須在每一次App Store發(fā)布版本中遞增

CFBundleVersion

String

YES

可執(zhí)行文件的創(chuàng)建號(hào),  這個(gè)健的值是一個(gè)證書,你可以在每一次發(fā)布時(shí)增加它。

CFBundleIdentifier

CFBundleIdentifier字段指定了bundle的一個(gè)唯一的標(biāo)識(shí)字符串。該標(biāo)識(shí)符采用了類似Java包的命名方式,例如com.apple.myapp。該bundle標(biāo)識(shí)符可以在運(yùn)行時(shí)定位bundle。預(yù)置系統(tǒng)使用這個(gè)字符串來唯一地標(biāo)識(shí)每個(gè)應(yīng)用程序。

它包含一個(gè)唯一標(biāo)識(shí)的字符串,它是從你在iOS Provisioning Portal創(chuàng)建的App ID取得的 App ID包含兩個(gè)部分:Team ID和Bundle ID

CFBundleShortVersionString

CFBundleShortVersionString字段指定了bundle的版本號(hào)。一般包含該bundle的主、次版本號(hào)。這個(gè)字符串的格式通常是 “n.n.n”(n表示某個(gè)數(shù)字)。第一個(gè)數(shù)字是bundle的主要版本號(hào),另兩個(gè)是次要版本號(hào)。該字段的值會(huì)被顯示在Cocoa應(yīng)用程序的關(guān)于對(duì)話框 中。

該字段不同于CFBundleVersion,它指定了一個(gè)特殊的創(chuàng)建號(hào)。而CFBundleShortVersionString的值描述了一種更加正式的并且不隨每一次創(chuàng)建而改變的版本號(hào)。

CFBundleVersion

CFBundleVersion字段指定了一個(gè)字符串用來標(biāo)識(shí)創(chuàng)建號(hào)。該字段的值通常隨每一次創(chuàng)建而改變,并且會(huì)被顯示在Cocoa”關(guān)于”對(duì)話框中的擴(kuò)號(hào)里。

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

獲取用戶權(quán)限信息:

用來訪問用戶信息的Reason strings iOS6中需要從用戶那里得到授權(quán)的數(shù)據(jù)

//Calendars,Contacts Location,Photos,Reminders

表A-3 獲取用戶權(quán)限信息

字段

類型

是否必須

摘要

NSCalendarsUsageDescription

String

No

當(dāng)應(yīng)用第一次視圖訪問用戶的日歷的時(shí)候,會(huì)出現(xiàn)一個(gè)彈出框來向用戶請(qǐng)求權(quán)限。如果你對(duì)這個(gè)鍵設(shè)置了一個(gè)值,那么這個(gè)值將會(huì)顯示在彈出框中

NSContactsUsageDescription

String

No

應(yīng)用第一次嘗試訪問用戶的通訊錄的時(shí)候,會(huì)出現(xiàn)一個(gè)彈出框申請(qǐng)權(quán)限。就像是前一個(gè)鍵,你對(duì)這個(gè)鍵指定的值,將會(huì)顯示在彈出框中

NSPhotoLibraryUsageDescription

String

No

同上,照片

NSRemindersUsageDescription

String

No

同上,備忘錄

NSLocationUsageDescription

String

No

同上,位置信息

應(yīng)用圖標(biāo):

表A-4 應(yīng)用圖標(biāo)

字段

類型

是否必須

摘要

CFBundleIconFile

String

No

圖標(biāo)文件的文件名- 在3.2版本被廢棄

UIPrerendered Icon

Boolean

No

這個(gè)鍵自從第一個(gè)iOS SDK就有了,它告訴iOS是否給你應(yīng)用的圖標(biāo)添加光照效果

CFBundleIconFiles

 Array No

這個(gè)鍵的引入,是用來處理在iPad和retina屏幕的出現(xiàn)時(shí),所需圖標(biāo)數(shù)量的增長(zhǎng)的。這個(gè)健的值應(yīng)該是一個(gè)字符串?dāng)?shù)組 -在5.0版本被廢棄CFBundleExecutable

CFBundleIcons

NSDictionary

No

這個(gè)健是iOS 5.0增加的,可以讓開發(fā)者指定Newsstand圖標(biāo)和普通應(yīng)用的圖標(biāo)

CFBundleIconFile

CFBundleIconFile字段指定了包含該bundle圖標(biāo)的文件。您給出的文件名不需要包含“.icns”擴(kuò)展名。Finder會(huì)在該bundle的“Resource”文件夾內(nèi)尋找圖標(biāo)文件。

如果您的bundle使用了自定義的圖標(biāo),那您就必須指定該屬性。假如您沒有指定,F(xiàn)inder(和其他應(yīng)用程序)會(huì)使用缺省的圖標(biāo)來顯示您的bundle。

控制應(yīng)用初始化啟動(dòng):

表A-5 控制應(yīng)用初始化啟動(dòng)

字段

類型

是否必須

摘要

UILaunchImageFile

String

No

啟動(dòng)圖片

NSMainNibFile

String

No

應(yīng)用程序的主nib文件名, 如果你用NIB的話,這個(gè)就是一個(gè)很重要的鍵。它指定了當(dāng)你應(yīng)用啟動(dòng)的時(shí)候,用于創(chuàng)建初始化窗口和相關(guān)對(duì)象的NIB文件

UIMainStoryboardFile

String

No

如果你用Storyboard的話,這是一個(gè)很重要的鍵。它指定可一個(gè)storyboard文件,用于在應(yīng)用啟動(dòng)的時(shí)候創(chuàng)建初始界面

NSMainNibFile

NSMainNibFile字段包含了一個(gè)含有應(yīng)用程序的主nib文件名(不包含.nib文件擴(kuò)展名)的字符串。一個(gè)nib文件作為一個(gè) Interface Builder的存檔文件,含有對(duì)用戶界面的詳細(xì)描述信息以及那些界面中的對(duì)象之間的關(guān)聯(lián)信息。當(dāng)應(yīng)用程序被啟動(dòng)時(shí),主nib文件會(huì)被自動(dòng)裝載。Mac OS X會(huì)尋找與應(yīng)用程序名相匹配的nib文件。

用戶界面:

表A-6 用戶界面

字段

類型

是否必須

摘要

UISupportedInterfaceOrientations

Array

No

這個(gè)鍵的值是一個(gè)你應(yīng)用支持的屏幕方向的數(shù)組

UIInterfaceOrientation

String

No

如果你的應(yīng)用值支持一個(gè)方向,那么你應(yīng)該設(shè)置這個(gè)鍵。它保證在你應(yīng)用啟動(dòng)的時(shí)候,狀態(tài)欄在正確的方向,而不是啟動(dòng)的時(shí)候在一個(gè)方向,然后又通過動(dòng)畫移動(dòng)到另外一個(gè)方向。

UIStatusBarStyle

 

String

No

設(shè)置應(yīng)用啟動(dòng)時(shí)狀態(tài)欄的初始風(fēng)格

UIStatusBarHidden

 

BOOL

 

No

這個(gè)鍵表示,在應(yīng)用啟動(dòng)的時(shí)候,狀態(tài)欄是否隱藏。

UIStatusBarTintParameters

 

NSDictionary

 

No

狀態(tài)欄可以進(jìn)行一些美化

UISupportedInterfaceOrientations

這個(gè)鍵的值是一個(gè)你應(yīng)用支持的屏幕方向的數(shù)組??捎眠x項(xiàng)有:

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

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

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

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

UIStatusBarStyle

這個(gè)鍵設(shè)置應(yīng)用啟動(dòng)時(shí)狀態(tài)欄的初始風(fēng)格。UIStatusBarStyle的枚舉值:

UIStatusBarStyleDefault、UIStatusBarStyleBlackTranslucent、

UIStatusBarStyleBalackOpaque

UIStatusBarTintParameters

在iOS6中狀態(tài)欄可以進(jìn)行一些美化,在這個(gè)字典中又四個(gè)鍵:

Style:表示導(dǎo)航條的barStyle屬性

Translucent:表示導(dǎo)航條的translucent屬性

TintColor:這個(gè)指定了導(dǎo)航條的修飾顏色。

groundImage:如果你的導(dǎo)航條有背景圖片,那么在這里把圖片的文件名寫上。

應(yīng)用控制:

表A-7 應(yīng)用控制

字段

類型

是否必須

摘要

UIRequiredDeviceCapabilities

Array/Dictionary

No

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

UIBackgroundModes

Array

No

當(dāng)你需要你的應(yīng)用在后臺(tái)運(yùn)行時(shí),就需要這個(gè)后臺(tái)模式,數(shù)組里包含應(yīng)用需要的所有后臺(tái)模式

MKDirectionsApplicationSupportedModes

Array

No

 這個(gè)iOS6新增加的一個(gè)鍵。它允許你為特定的區(qū)域和交通模式指定你的應(yīng)用的路由信息

UIDeviceFamily

Number/Array

No

 Xcode自動(dòng)添加這個(gè)鍵,所以你不需要自己添加。它表示應(yīng)用支持哪些設(shè)備

CFBundleGetInfoHTML

UIAppFonts

Array

No

 如果你需要額外的字體。這個(gè)鍵可以為你的應(yīng)用添加非標(biāo)準(zhǔn)的字體

UIApplicationExitsOnSuspend

Boolean

No

 如果這個(gè)鍵設(shè)置為true,那么應(yīng)用將會(huì)直接中斷,而不是切換到后臺(tái)

UIFileSharingEnabled

Boolean

No

如果你希望用戶能用iTunes的文件共享功能將文件從你的應(yīng)用的document目錄傳入或傳出,那么你需要設(shè)置這個(gè)鍵的值為true

UINewsstandApp

Boolean

No

如果 你的應(yīng)用時(shí)Newsstand類型的,那么你應(yīng)該將這個(gè)鍵設(shè)置為true

UIRequiresPersistentWiFi

Boolean

No

iOS在默認(rèn)情況下,如果設(shè)備30分鐘沒有活動(dòng),它就會(huì)關(guān)閉WiFi連接。如果你設(shè)置這個(gè)鍵的值為true,那么這個(gè)行為會(huì)被覆蓋,只要你的應(yīng)用是打開的,網(wǎng)絡(luò)連接就不會(huì)關(guān)閉

UISupportedExternalAccessoryProtocols

Array

No

這個(gè)鍵指定了和附加的硬件設(shè)備通訊的協(xié)議

UIBackgroundModes

當(dāng)你需要你的應(yīng)用在后臺(tái)運(yùn)行時(shí),就需要這個(gè)后臺(tái)模式,數(shù)組里包含應(yīng)用需要的所有后臺(tái)模式,可以從以下幾個(gè)值里面
選擇:

audio:使用音頻框架來播放或者錄制音頻

location:需要在后臺(tái)訪問用戶的位置信息

voip:這個(gè)應(yīng)用支持IP語音,需要在后臺(tái)進(jìn)行Internet連接和音頻播放

newsstand-content:使用Newsstand API在后臺(tái)下載并處理內(nèi)容,這允許當(dāng)一個(gè)代表有新的可用發(fā)布的推送發(fā)進(jìn)來的時(shí)候喚醒應(yīng)用external-accessory:使用External Accessory框架來和外部的設(shè)備驚醒通訊

bluetooth-central:使用CoreBluetooth框架和外部設(shè)備進(jìn)行通訊

高級(jí)視圖控制:

表A-8 高級(jí)視圖控制

字段

類型

是否必須

摘要

UIViewEdgeAntialiasing

Boolean

No

默認(rèn)情況下,你的視圖被iOS的渲染系統(tǒng)繪制,不包括反鋸齒功能。這是因?yàn)椴皇怯梅翠忼X運(yùn)行速度會(huì)快很多

UIViewGroupOpacity

Boolean

No

當(dāng)你設(shè)置了視圖的透明度,它所有的子視圖都被渲染成同樣的透明度,但會(huì)在它后面被渲染

Core OS **** 以下為系統(tǒng)自動(dòng)修改,無需手動(dòng)修改****:

表A-9 Core OS

字段

類型

是否必須

摘要

LSRequiresIPhoneOS

Boolean

No

這個(gè)鍵時(shí)iOS應(yīng)用運(yùn)行在設(shè)備上面必須的,并且它的值必須時(shí)true

CFBundlePackageType

String

No

用來標(biāo)識(shí)bundle類型的四個(gè)字母長(zhǎng)的代碼( 在iOS中,你至處理應(yīng)用,但在Mac中,Info.plst還可以引用其他類型的項(xiàng)目

)

CFBundleInfoDictionaryVersion

String

Yes

Info.plist格式的版本信息,     Info.plst的結(jié)構(gòu)很可能會(huì)隨著時(shí)間改變,那么就需要告訴操作系統(tǒng),當(dāng)前這個(gè)文件對(duì)應(yīng)的版本是什么。

CFBundleExecutable

String

Yes

該bundle的可執(zhí)行文件名,     iOS中的應(yīng)用會(huì)被打包成.app文件。在這個(gè)文件中包含了所有的資源,并且還有一個(gè)可執(zhí)行文件。這個(gè)鍵時(shí)一個(gè)字符串,用來指定可執(zhí)行文件的名稱。

CFBundleSignature

String

Yes

用來標(biāo)識(shí)創(chuàng)建者的四個(gè)字母長(zhǎng)的代碼, 這個(gè)鍵和Mac有關(guān),和iOS沒有特別的關(guān)系。

CFBundlePackageType

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

CFBundleInfoDictionaryVersion

CFBundleInfoDictionaryVersion字段指定了屬性列表結(jié)構(gòu)的當(dāng)前版本號(hào)。該字段的存在使得可以支持Info.plist格式將來的版本。在您建立一個(gè)bundle時(shí),Project Builder會(huì)自動(dòng)產(chǎn)生該字段。

CFBundleExcutable

CFBundleExecutable 標(biāo)識(shí)了bundle的可執(zhí)行主文件的名稱。對(duì)于一個(gè)應(yīng)用程序來說,就是該應(yīng)用程序的可執(zhí)行文件。對(duì)于一個(gè)可加載bundle,它是一個(gè)可以被bundle 動(dòng)態(tài)加載的二進(jìn)制文件。對(duì)于一個(gè)框架,它是一個(gè)共享庫。Project Builder會(huì)自動(dòng)把該字段加入到合適項(xiàng)目的Info.plist文件中。

對(duì)于框架,考慮到啟動(dòng)效率的原因,可執(zhí)行文件名需要和框架名同名。該可執(zhí)行文件名不應(yīng)該包含可用于多種平臺(tái)的擴(kuò)展名。

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

CFBundleSignature

CFBundleSignature字段指定了bundle的創(chuàng)建者,類似于Mac OS 9中的文件創(chuàng)建者代碼。該字段的值包含四字母長(zhǎng)的代碼,用來確定每一個(gè)bundle。

本地化:

表A-10 本地化

字段

類型

是否必須

摘要

CFBundleLocalizations

Array

No

 系統(tǒng)通過查找你應(yīng)用提供的Iproj目錄來決定你的應(yīng)用支持哪些語言地區(qū)。這個(gè)鍵的值是一個(gè)字符串?dāng)?shù)組,數(shù)組中的每一個(gè)值都代表支持的地區(qū)

CFBundleDevelopmentRegion

String

No

當(dāng)你開發(fā)你的應(yīng)用的時(shí)候,你通常會(huì)使用你本地的語言來寫它。這個(gè)鍵的值是一個(gè)字符串,如果用戶請(qǐng)求的區(qū)域沒有

必須的資源的話,它用來表示默認(rèn)的本地化區(qū)域

自定義URL和文檔類型:

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

字段

類型

是否必須

摘要

CFBundleURLTypes

Array

No

一組描述了該bundle所支持的URL協(xié)議的字典。這個(gè)鍵可以讓你指定一個(gè)你的應(yīng)用支持的URL的一個(gè)數(shù)組

CFBundleDocumentTypes

Array

No

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

UIImportedTypeDeclarations

 Array No

為了允許你的應(yīng)用打開那些不屬于它的類型,你需要導(dǎo)入那個(gè)UTI,并且這個(gè)時(shí)你要用到的鍵

CFBundleURLTypes

CFBundleURLTypes字段包含了一組描述了應(yīng)用程序所支持的URL協(xié)議的字典。它的用途類似于CFBundleDocumentTypes的 作用,但它描述了URL協(xié)議而不是文檔類型。每一個(gè)字典條目對(duì)應(yīng)一個(gè)單獨(dú)的URL協(xié)議, 每一個(gè)都代表你應(yīng)用支持的一種URL規(guī)則。表A-11-1列出了在每一個(gè)字典條目中使用的字段。

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

字段

類型

描述

CFBundleTypeRole String

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

CFBundleURLIconFile String

該字段包含了被用于這種URL類型的圖標(biāo)文件名(不包括擴(kuò)展名)字符串。( 指定對(duì)這種URL所使用的圖標(biāo)的文件名)

CFBundleURLName String

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

CFBundleURLSchemes Array

該字段包含了一組可被這種類型處理的URL協(xié)議。例如:http,ftp等。( 字符串?dāng)?shù)組,每一個(gè)元素代表這個(gè)規(guī)則支持的URL)

CFBundleDocumentTypes

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

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

字段

類型

描述

CFBundleTypeExtensions Array

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

CFBundleTypeIconFile

String

  圖標(biāo)文件的數(shù)組,該字段指定了系統(tǒng)顯示該類文檔時(shí)使用的圖標(biāo)文件名,該圖標(biāo)文件名的擴(kuò)展名是可選的。如果沒有擴(kuò)展名,系統(tǒng)會(huì)根據(jù)平臺(tái)指定一個(gè)(例如,Mac OS 9中的.icons)。

CFBundleTypeName String

該字段包含了這種文檔類型的抽象名稱。通過在適當(dāng)?shù)腎nforPlist.strings文件中包含該字段,可以實(shí)現(xiàn)對(duì)它的本地化。( 唯一的字符串,區(qū)分URL類型)

CFBundleTypeOSTypes Array

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

CFBundleTypeRole String

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

NSDocumentClass String

該字段描述了被用來實(shí)例化文檔的NSDocument子類。僅供Cocoa應(yīng)用程序使用。

NSExportableAs Array

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

使用iCloud:

表A-12 使用iCloud

字段

類型

是否必須

摘要

NSUbiquitousDisplaySet

String

No

iCloud使用這個(gè)鍵來表示你應(yīng)用的文件存儲(chǔ)。可以把它想象成iCloud中的一個(gè)目錄用來存放你應(yīng)用中的文件

Bundle核心字段:

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

表A-13 標(biāo)準(zhǔn)字段概要:

字段

類型

是否必須

摘要

CFBundleDevelopmentRegion

String

No

 該bundle的地區(qū)。通常對(duì)應(yīng)于作者的母語。

CFBundleGetInfoHTML

String

No

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

CFBundleGetInfoString

String

No

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

CFBundleHelpBookFolder

String

No

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

CFBundleHelpBookName

String

No

當(dāng)該bundle的幫助啟動(dòng)時(shí)顯示的幫助文件的名字。

CFBundleDevelopmentRegion

CFBundleDevelopmentRegion字段指定了一個(gè)字符串值來標(biāo)識(shí)bundle的地區(qū)。通常對(duì)應(yīng)于作者的母語。如果不能找到用戶首選的地區(qū)或語言的資源,系統(tǒng)最后會(huì)使用該值。

CFBundleGetInfoHTML

CFBundleGetInfoHTML字段含有會(huì)在bundle的信息窗口中顯示的HTML字符串。如果您希望在信息窗口中有更強(qiáng)的表現(xiàn)力,可以使用這 個(gè)鍵值對(duì)來替代純文本的CFBundleGetInfoString。通過把它加入到合適的.lproj目錄中的InfoPlist.strings文件 中,您也可以本地化該字符串。

如果CFBundleGetInfoString和CFBundleGetInfoHTML同時(shí)存在的話,系統(tǒng)會(huì)選擇使用CFBundleGetInfoHTML。

CFBundleGetInfoString

CFBundleGetInfoString字段含有會(huì)在bundle的信息窗口中顯示的純文本字符串(這里的字符串也就是Mac OS9中的長(zhǎng)字符串)。該字段的格式應(yīng)該遵照Mac OS 9中的長(zhǎng)字符串,例如:“2.2.1, ? Great Software, Inc,1999”。通過把它加入到合適的.lproj目錄中的InfoPlist.strings文件中,您也可以本地化該字符串。

如果存在CFBundleGetInfoHTML的話,系統(tǒng)不會(huì)選擇使用該字段。

CFBundleHelpBookFolder

CFBundleHelpBookFolder字段含有該bundle的幫助文件的文件夾名字。幫助通常被本地化成一種指定的語言,所以該字段指向的文件夾應(yīng)該是所選擇語言的.lproj目錄中的文件夾。

CFBundleHelpBookName

CFBundleHelpBookName指定了您的應(yīng)用程序的幫助主頁。該字段指定的幫助頁面名可以和HTML文件名不同。在幫助文件META標(biāo)簽的CONTENT屬性中指定了幫助頁面名。

應(yīng)用程序特定的字段:

表A-14 應(yīng)用程序特定的字段:

字段

類型

是否必須

摘要

CFAppleHelpAnchor String No 該bundle的初始HTML幫助文件。
NSAppleScriptEnabled String No 指定是否支持AppleScript。
NSHumanReadableCopyright String Yes 顯示在對(duì)話框中的版權(quán)信息。
NSJavaNeeded Boolean or String No 指定該程序是否需要一個(gè)Java虛擬機(jī)。
NSJavaPath Array No 一組Java類所在的路徑(前面需要加上NSJavaRoot)。
NSJavaRoot String No 包含Java類的根目錄。
NSMainNibFile** String Yes

應(yīng)用程序的主nib文件名。

NSPrincipalClass String Yes bundle的主類的名字。
NSServices Array No 一組描述了由應(yīng)用程序所提供的服務(wù)的字典。

CFAppleHelpAnchor

CFAppleHelpAnchor字段定義了bundle的初始HTML幫助文件名,不需要包括.html或.htm擴(kuò)展名。這個(gè)文件位于bundle的本地化資源目錄中,或者如果沒有本地化資源目錄的話,則直接被放在Resources目錄中。

NSAppleScriptEnabled

NSAppleScriptEnabled字段說明了該應(yīng)用程序是否支持AppleScript。如果您的應(yīng)用程序支持,就需要把該字符串的值設(shè)為“Yes”。

NSHumanReadableCopyright

NSHumanReadableCopyright字段包含了一個(gè)含有bundle的版權(quán)信息的字符串。您可以在“關(guān)于”對(duì)話框中顯示它。該字段通常會(huì)出現(xiàn)在InfoPlist.strings文件中,因?yàn)橥枰镜鼗撟侄蔚闹怠?/p>

NSJavaNeeded

NSJavaNeeded字段含有一個(gè)布爾值,用來確定在執(zhí)行該bundle的代碼之前Java虛擬機(jī)是否需要被載入并運(yùn)行。您也可以指定一個(gè)字符串類型的值“YES”代替布爾型的值。

NSJavaPath

NSJavaPath字段包含了一組路徑。每一個(gè)路徑指向一個(gè)Java類。該路徑相對(duì)于由NSJavaRoot字段定義的位置來說,可能是一個(gè)絕對(duì)路徑也可能是一個(gè)相對(duì)路徑。開發(fā)環(huán)境會(huì)自動(dòng)把這些值保存在數(shù)組中。

NSJavaRoot

NSJavaRoot字段含有一個(gè)指向一個(gè)目錄的字符串。該目錄是應(yīng)用程序的Java類文件的根目錄

NSPrincipalClass

NSPrincipalClass字段定義了一個(gè)bundle的主類的名稱。對(duì)于應(yīng)用程序來說,缺省情況下這個(gè)名字就是應(yīng)用程序的名字。

NSServices

NSServices包含了一組字典,它詳細(xì)說明了應(yīng)用程序所提供的服務(wù)。表A-5列出了用來指定服務(wù)的字段。

表 A-14-1 NSServices字典的字段:

字段

類型

描述

NSPortName String 該字段指定了由您的應(yīng)用程序監(jiān)聽器為接受外部服務(wù)請(qǐng)求所提供的端口名稱。
NSMessage String 該字段指定了用來調(diào)用該服務(wù)的實(shí)例方法名。在Objective-C中,實(shí)例方法的形式是messageName:userData:error:。在Java中,實(shí)例方法的形式是messageName(NSPasteBoard.String)。
NSSendTypes Array 該字段指定了一組可以被該服務(wù)讀取的數(shù)據(jù)類型名。NSPasteboard類列出了幾個(gè)常用的數(shù)據(jù)類型。您必須包含此字段,NSReturnTypes,或者兩者。
NSReturnTypes Array 該字段指定了一組可以被該服務(wù)返回的數(shù)據(jù)類型名。NSPasteboard類列出了幾個(gè)常用的數(shù)據(jù)類型。您必須包含此字段,NSSendTypes,或者兩者。
NSMenuItem Dictionary 該 字段包含一個(gè)字典,它指定了加入Services菜單中的文本。字典中的唯一一個(gè)字段被稱為default并且它的值是菜單項(xiàng)的文本。該值必須是唯一的。 您可以使用斜杠“/”來指定一個(gè)子菜單。例如,Mail/Send出現(xiàn)在Services菜單中時(shí)就是一個(gè)帶有Send子菜單并且名為Mail的菜單。
NSKeyEquivalent Dictionary 該字段是可選的,并且包含一個(gè)含有用來請(qǐng)求服務(wù)菜單命令的快捷按鍵的字典。與NSMenuItem類似,字典中的唯一一個(gè)字段被稱為default并且它的值是單個(gè)的字符。用戶可以通過按下Command,Shift功能鍵和相應(yīng)的字符來請(qǐng)求該快捷按鍵。
NSUserData String 該字段是一個(gè)可選字符串,它含有您的選擇值。
NSTimeout String 該字段是一個(gè)可選的數(shù)字字符串,它指定了從應(yīng)用程序請(qǐng)求服務(wù)到收到它的響應(yīng)所需要等待的毫秒數(shù)。

啟動(dòng)服務(wù)字段:

啟動(dòng)服務(wù)字段規(guī)定了Mac OS X中的應(yīng)用程序是怎樣被啟動(dòng)的。這些字段適用于CFM和Mach-O可執(zhí)行文件。有關(guān)CFM和Mach-O可執(zhí)行文件的詳情可參見“安裝和集成”一章中的“CFM可執(zhí)行文件”。表A-6列出了啟動(dòng)服務(wù)的字段。

表A-15 啟動(dòng)服務(wù)字段:

字段

類型

是否必須

摘要

LSBackgroundOnly String No 指定了應(yīng)用程序是否僅僅運(yùn)行在后臺(tái)。(僅適用于Mach-O的應(yīng)用程序)。
LSPrefersCarbon String No 指定了應(yīng)用程序是否優(yōu)先運(yùn)行在Carbon環(huán)境中。
LSPrefersClassic String No 指定了應(yīng)用程序是否優(yōu)先運(yùn)行在Classic環(huán)境中。
LSRequiresCarbon String No 指定了應(yīng)用程序是否必須運(yùn)行在一個(gè)Carbon環(huán)境中。
LSRequiresClassic String No 指定了應(yīng)用程序是否必須運(yùn)行在一個(gè)Classic環(huán)境中。
LSUIElement String No 指定了應(yīng)用程序是否是一個(gè)用戶界面組件,即一個(gè)應(yīng)用程序不應(yīng)該出現(xiàn)在Dock中或強(qiáng)制退出窗口。

LSBackgroundOnly

如果該字段存在并且被設(shè)為“1”,啟動(dòng)服務(wù)將只會(huì)運(yùn)行在后臺(tái)。您可以使用該字段來創(chuàng)建無用戶界面的后臺(tái)應(yīng)用程序。如果您的應(yīng)用程序使用了連接到窗口服務(wù)器 的高級(jí)框架,但并不需要顯示出來,您也應(yīng)該使用該字段。后臺(tái)應(yīng)用程序必須被編譯成Mach-O可執(zhí)行文件。該選項(xiàng)不適用于CFM應(yīng)用程序。

您也可以指定該字段的類型為Boolean或Number。然而,只有Mac OS X 10.2或以上的版本才支持這些類型的值。

LSPrefersCarbon

如果該字段被設(shè)為“1”,F(xiàn)inder將會(huì)在顯示簡(jiǎn)介面板中顯示“在Classic環(huán)境中打開”控制選項(xiàng),缺省情況下該控件未被選中。如果需要,用戶可以修改這個(gè)控制選項(xiàng)來在Classic環(huán)境中啟動(dòng)應(yīng)用程序。

您也可以指定該字段的類型為Boolean或Number。然而,只有Mac OS X 10.2或以上的版本才支持這些類型的值。如果您在您的屬性列表中加入了該字段,那么就不要同時(shí)加入LSPrefersClassic, LSRequiresCarbon,或LSRequiresClassic字段。

LSPrefersClassic

如果該字段被設(shè)為“1”,F(xiàn)inder將會(huì)在顯示簡(jiǎn)介面板中顯示“在Classic環(huán)境中打開” 控制選項(xiàng),缺省情況下該控件被選中。如果需要,用戶可以修改這個(gè)控制選項(xiàng)來在Carbon環(huán)境中啟動(dòng)應(yīng)用程序。

您也可以指定該字段的類型為Boolean或Number。然而,只有Mac OS X 10.2或以上的版本才支持這些類型的值。如果您在您的屬性列表中加入了該字段,那么就不要同時(shí)加入LSPrefersCarbon, LSRequiresCarbon,或LSRequiresClassic字段。

LSRequiresCarbon

如果該字段被設(shè)為“1”,啟動(dòng)服務(wù)將只在Carbon環(huán)境中運(yùn)行應(yīng)用程序。如果您的應(yīng)用程序不應(yīng)該運(yùn)行在Classic環(huán)境中的話,可以使用該字段。

您也可以指定該字段的類型為Boolean或Number。然而,只有Mac OS X 10.2或以上的版本才支持這些類型的值。如果您在您的屬性列表中加入了該字段,那么就不要同時(shí)加入LSPrefersCarbon, LSPrefersClassic,或LSRequiresClassic字段。

LSRequiresClassic

如果該字段被設(shè)為“1”,啟動(dòng)服務(wù)將只在Classic環(huán)境中運(yùn)行應(yīng)用程序。如果您的應(yīng)用程序不應(yīng)該運(yùn)行在Carbon兼容環(huán)境中的話,可以使用該字段。

您也可以指定該字段的類型為Boolean或Number。然而,只有Mac OS X 10.2或以上的版本才支持這些類型的值。如果您在您的屬性列表中加入了該字段,那么就不要同時(shí)加入LSPrefersCarbon, LSPrefersClassic,或LSRequiresCarbon字段。

LSUIElement

如果該字段被設(shè)為“1”,啟動(dòng)服務(wù)會(huì)將該應(yīng)用程序作為一個(gè)用戶界面組件來運(yùn)行。用戶界面組件不會(huì)出現(xiàn)在Dock或強(qiáng)制退出窗口中。雖然它們通常作為后臺(tái)應(yīng) 用程序運(yùn)行,但是如果希望的話,它們也可以在前臺(tái)顯示一個(gè)用戶界面。點(diǎn)擊屬于用戶界面組件的窗口,應(yīng)用程序?qū)?huì)處理產(chǎn)生的事件。

Dock和登錄窗口是兩個(gè)用戶界面組件應(yīng)用程序。

應(yīng)用程序包字段:

應(yīng)用程序打包的目的是把一個(gè)應(yīng)用程序打包成一個(gè)自我包含的實(shí)體,并且對(duì)用戶隱藏了它的內(nèi)容。然而,用戶常常希望操作應(yīng)用程序的某些文件。例如,用戶可能希 望添加或刪除某個(gè)插件,本地化資源,等等。開發(fā)者可以在Info.plist 文件中指定一些可以由用戶維護(hù)的項(xiàng)目。那么Finder會(huì)把這些項(xiàng)目顯示在bundle的信息面板中,并允許用戶瀏覽,刪除或添加這些項(xiàng)目。

CFBundleInstallerInfo

應(yīng)用程序打包信息的根字段是CFBundleInstallerInfo。該字段定義了一個(gè)字典,它包含了表A-7中所列出的字段?!笆欠癖仨殹绷兄赋隽四男┦悄仨氈С值墓δ?。

表A-16-1 應(yīng)用程序打包字段:

字段

類型

是否必須

摘要

APInstallerURL String Yes 一個(gè)指向您希望安裝的文件的URL路徑。
APFiles Array Yes 一組字典,描述了那些可以被安裝的文件或目錄。

APInstallerURL

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

APFiles

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

表A-16-2 APFiles字典字段:

字段

類型

描述

APFileDescriptionKey String 用來顯示在Finder的信息窗口中的簡(jiǎn)短描述。
APDisplayedAsContainer String 如果值為“Yes”,該項(xiàng)目作為一個(gè)目錄圖標(biāo)顯示在信息面板中;否則,它被顯示為一個(gè)文檔圖標(biāo)。
APFileDestinationPath String 一個(gè)安裝組件的相對(duì)路徑。
APFileName String 文件或目錄的名稱。
APFileSourcePath String 指向應(yīng)用程序包中組件的路徑,相對(duì)與APInstallerURL路徑。
APInstallAction String 操縱組件的動(dòng)作:“Copy”或者“Open”

UIFileSharingEnabled 應(yīng)用程序支持itunes共享文件夾 值為 boolean 值 YES 共享; NO 不共享

這個(gè)字段在字段編輯器中的名稱為: Application supports iTunes file sharing

相關(guān)文章

  • iOS開發(fā)中視圖的下拉放大和上拉模糊的效果實(shí)現(xiàn)

    iOS開發(fā)中視圖的下拉放大和上拉模糊的效果實(shí)現(xiàn)

    這篇文章主要介紹了iOS開發(fā)中視圖的下拉放大和上拉模糊的效果實(shí)現(xiàn),本文以秘密App的效果作為示例進(jìn)行講解,需要的朋友可以參考下
    2015-09-09
  • iOS如何將圖片裁剪成圓形

    iOS如何將圖片裁剪成圓形

    這篇文章主要為大家詳細(xì)介紹了iOS如何將圖片裁剪成圓形,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • MAUI模仿iOS多任務(wù)切換卡片滑動(dòng)的交互實(shí)現(xiàn)代碼

    MAUI模仿iOS多任務(wù)切換卡片滑動(dòng)的交互實(shí)現(xiàn)代碼

    這篇文章主要介紹了[MAUI]模仿iOS多任務(wù)切換卡片滑動(dòng)的交互實(shí)現(xiàn),使用.NET MAU實(shí)現(xiàn)跨平臺(tái)支持,本項(xiàng)目可運(yùn)行于Android、iOS平臺(tái),需要的朋友可以參考下
    2023-05-05
  • iOS NSThread和NSOperation的基本使用詳解

    iOS NSThread和NSOperation的基本使用詳解

    下面小編就為大家分享一篇iOS NSThread和NSOperation的基本使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • 解決蘋果ios用js的Date()出現(xiàn)NaN的問題

    解決蘋果ios用js的Date()出現(xiàn)NaN的問題

    下面小編就為大家分享一篇解決蘋果ios用js的Date()出現(xiàn)NaN的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • IOS實(shí)現(xiàn)驗(yàn)證碼倒計(jì)時(shí)功能(二)

    IOS實(shí)現(xiàn)驗(yàn)證碼倒計(jì)時(shí)功能(二)

    這篇文章主要介紹了IOS實(shí)現(xiàn)驗(yàn)證碼倒計(jì)時(shí)功能,點(diǎn)擊獲取驗(yàn)證碼,進(jìn)入時(shí)間倒計(jì)時(shí),感興趣的小伙伴們可以參考一下
    2016-04-04
  • iOS的客戶端菜單功能仿百度糯米/美團(tuán)二級(jí)菜單

    iOS的客戶端菜單功能仿百度糯米/美團(tuán)二級(jí)菜單

    我剛好最近在開發(fā)一個(gè)商城項(xiàng)目,實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的控件,控件的效果就是類似百度糯米或者美團(tuán)的二級(jí)菜單,非常不錯(cuò)具有參考借鑒價(jià)值,對(duì)百度糯米 美團(tuán)二級(jí)菜單功能感興趣的朋友一起看看吧
    2016-11-11
  • HTTP/2 協(xié)議用于 iOS 推送提醒服務(wù) (APNS)

    HTTP/2 協(xié)議用于 iOS 推送提醒服務(wù) (APNS)

    基于JSON的請(qǐng)求和響應(yīng)對(duì)于每個(gè)通知,如果成功響應(yīng),將會(huì)返回200標(biāo)識(shí) - 不用再去猜測(cè)通知是否被接收到響應(yīng)錯(cuò)誤將會(huì)以JSON字符消息的長(zhǎng)度從2048個(gè)字節(jié)增加到4096個(gè)字節(jié)連接狀態(tài)可以通過HTTP/2的ping框架來進(jìn)行檢查.
    2016-04-04
  • IOS 開發(fā)之PickerView文字和隨機(jī)數(shù)的使用

    IOS 開發(fā)之PickerView文字和隨機(jī)數(shù)的使用

    這篇文章主要介紹了IOS 開發(fā)之PickerView文字和隨機(jī)數(shù)的使用的相關(guān)資料,這里提供實(shí)例幫助大家理解掌握這部分內(nèi)容,需要的朋友可以參考下
    2017-08-08
  • 開發(fā)繪圖、手勢(shì)綜合App注意點(diǎn)

    開發(fā)繪圖、手勢(shì)綜合App注意點(diǎn)

    本篇文章主要給大家詳細(xì)講述了在IOS開發(fā)繪圖、手勢(shì)綜合App容易遇到的坑以及注意事項(xiàng)等內(nèi)容,有興趣的朋友參考下吧。
    2018-02-02

最新評(píng)論