IOS之Info.plist文件簡介

元信息簡介

    爲了提供更好的用戶體驗,IOS 和 OS X的每一個app或bundle都依賴於特殊的元信息(meta Information).

    元信息有多種用途,包括 app

  • 直接向用戶展現信
  • 系統內部用來標識你的app或其支持的文檔類型
  • 系統框架用來輔助app的加載
      經過一種特殊的信息屬性列表文件,app向系統提供本身的元信息。

      屬性列表可用來構建任意數據,這些數據在運行時是可訪問的。每一個屬性列表都包含了一個bundle的配置信息。文件中的keys和values描述了許多要應用於該bundle的行爲以及配置選項。Xcode一般會爲每一個基於bundle的工程自動建立該屬性列表文件,而且提供許多合適的keys以及其對應的默認的values。以後能夠編輯該文件,添加任何工程所需的keys和values,或修改現有的keys所對應的values。

Info.plist文件

      每一個application都使用Info.plist文件來存儲以上的元信息,從名稱上也能夠判斷出Info.plist就是以上提到的「屬性列表」。IOS用Info.plist來決定bundle所顯示的icon,當前app支持打開的文檔類型,等等其它的信息。正如以上所提到的,Info.plist自己是一種結構化的文本文件,它包含了一些重要的配置信息。Info.plist文件多數狀況下是以UTF-8進行編碼,而且其內部的配置內容實際上是以XML格式進行組織。XML的根節點是一個詞典(dictionary),包含描述bundle各個方面的keys和values。系統讀取該文件,並獲取app的配置信息。

      按照約定,屬性列表文件的名稱就是Info.plist。該文件名稱時大小寫敏感的,而且首字母必須是大寫的"I".在IOS的apps中,當新工程建立完畢後,會自動建立一個名爲<project>-Info.plist文件,該文件位於bundle目錄(Supporting Files)的頂部,在工程構建時,該文件用以生成Info.plist文件,以後添加至bundle中。咱們以TestPro爲例,當用Xcode建立名爲TestPro工程後,其目錄結構以下:



     咱們以TestPro爲例,當用Xcode建立名爲TestPro工程後,其目錄結構以下 框架



在Info.plist中添加key

     建立新工程時生成的Info.plist文件,默認狀況下會提供支持app加載和運行所須要的多數重要的keys以及初始化對應的values。在App的加載運行時,系統會收集Info.plist文件中所包含的配置信息。根據App的須要,咱們能夠添加所需的額外的keys,當咱們選中每行配置選項時,在key所屬列的右側,會出現「+」「-」示意的標記,

    單擊加號,會在當前行的下一行插入新行,以後能夠選擇性的添加新key,並設置其value.plist的type一欄提供了value的可選數據類型,包括:String,Date,Array,Number,Data,Boolean,Dictionary。 編輯器


       由於plist也屬於文本文件,並以XML格式進行內容的組織,咱們能夠用任何支持UTF-8的文本編輯器打開並對其進行各類編輯操做。但由於Xcode自己提供的對於plist文件內容的操做已經很是方便,基本上利用Xode編輯plist仍是首選。要查看XML下plist文件的內容咱們能夠選中TestPro-Info.plist文件而後右鍵——>Open As ——>Source Code



     以後打開的文件格式以下:



Info.plist中key的類型分類

根據功能的分類,Info.plist文件的keys大體劃分爲如下幾類 編碼

         Core Foundation Keys             

          該類的keys的特色是以CF爲前綴,用以表明Core Foundation,描述了一些經常使用的行爲項 spa

         Lanch Services Keys
            加載服務項,提供了App加載所依賴的配置,描述了app啓動的方式選擇。

         Cocoa Keys
            Cocoa框架或Cocoa Touch框架依賴這些keys來標識更高級別的配置項目,如app的main nib文件,主要類。這些key描述影響着Cocoa和Cocoa Touch框架初始化和運行app的運行方式

         UIKit Keys
            描述IOS Apps的行爲,每一個IOS應用都依賴於Info.plist的keys來與IOS系統通訊。Xcode提供了生成的plist文件提供了全部app所需的那些比較重要的keys。
            但app可能須要擴展默認的plist來描述更多的信息,如定製app啓動後的默認旋轉方向,標識app是否支持文件共享等等。

         OS X Keys
            描述了Mac Apps的行爲,本章不描述。

由於沒類keys下面,根據功能點都細分了許多key,但願有時間陸續對用過的key以及該key的功能作個簡單的描述總結。 code

注:描述於IOS5.1下 orm

相關文章
相關標籤/搜索