應用程式的Info.plist屬性列表使你能夠在向iTunes提交應用程式時指定應用程式的要求。這些限制允許告訴iTunes應用程式需要哪些裝置特性。
每個IOS單元都會提供一個獨特的特性集。一些裝置回提供照相機和GPS能力,另外一些則不會。一些裝置具有機載陀螺儀、自動聚焦,以及其他強大的選項。你可以指定在裝置上執行應用程式時需要哪些特性。
在Info.plist檔案中包括UIRequiredDeviceCapabilities鍵時,iTunes將限制把應用程式安裝到提供必須能力的裝置。把這個列表作為一個字串陣列或者字典提供。
陣列指定每個必須的能力;該陣列中每一項都必須存在於裝置上。字典允許顯示要求或禁止某個特性,字典鍵就是能力,字典值用於設定特性是必須存在(布林值true)還是必須省略(布林值false).
圖1 必須的裝置能力
鍵 | 使用 |
telephony | 應用程式需要Phone應用程式或者使用tel://URL |
wifi | 應用程式需要基於本地802.11的網路訪問。如果在應用程式執行時IOS必須維持該Wi-Fi連線,可以新增UIRequiresPersistentWiFi作為頂級屬性列表鍵 |
sms | 應用程式需要Messages應用程式或者使用sms://URL |
stil-camera | 應用程式需要機載靜物照相機,並且可以使用影象拾取器介面從該靜物照相機捕獲照片 |
auto-focus-camera |
應用程式需要額外的聚焦能力以進行微距攝影,或者拍攝特別清晰的影象以進行影象內的資料監測 |
front-facing-camera | 應用程式需要在裝置上前置攝像頭 |
camera-flash | 應用程式需要閃光燈特性 |
video-camera | 應用程式需要能夠錄製視訊的照相機 |
accelerometer |
應用程式需要特定於加速計的反饋,而不止是簡單的UIViewController定向事件。 |
gyriscope | 應用程式需要裝置上的機載陀螺儀 |
location-services | 應用程式需要任意型別的Core Location |
gps | 應用程式需要使用Core Location,並且需要更為精確的GPS定位 |
magnetometer | 應用程式需要使用Core Location,並且需要與前進方向相關的事件,既行進的方向(磁力計是內建的羅盤) |
gamekit | 應用程式需要訪問遊戲中心 |
microphone | 應用程式需要使用內建的麥克風或者可以提供麥克風的附件 |
opengles-1 | 應用程式需要OpenGL ES 1.1 |
opengles-2 | 應用程式需要OpenGL ES 2.0 |
armv6 | 應用程式僅針對armv6指令集進行編譯 |
armv7 | 應用程式僅針對armv7指令集進行編譯 |
peer-peer | 應用程式通過藍芽技術使用GameKit對等連線 |
blueetooth-le | 應用程式需要藍芽技術的低功耗支援 |
(1)使用者許可權描述
為了保護隱私,終端使用者必須明確的允許應用程式訪問提醒訊號、照片、位置、聯絡人、和日曆資料。為了說服使用者接受,它有助於解釋應用程式可以怎樣使用這類資料,並且說明訪問他的原因。給位於Info.plist檔案頂層的以下鍵分配字串值。當IOS提示使用者有關特定資源的許可權時,他將顯示這些字串,作為他的標準對話方塊的一部分。
NSRemindersUsageDescription
NSPhotoLibraryUsageDescription
NSLocationUsageDescription
NSContactsUsageDescription
NSCalendarsUsageDescription
(2)其他常用的Info.plist鍵
下面給出了你可能想在屬性列表中分配的另外幾個常用鍵,以及有關他們可以做什麼的描述。
UIFileSharingEnabled (Boolean型,預設為關):允許使用者從iTunes中訪問應用程式的Documents資料夾中的內容。這個資料夾出現在應用程式沙盒的頂級。
UIAppFonts(Array型,字型名稱(包括其擴充套件)的字串):指定在軟體包中提供自定義的TTF字型。再新增字型時,可以使用標準的UIFont呼叫訪問他們。
UIApplicationExitsOnSuspend(Boolean 型,預設為關):當使用者單擊Home按鈕時使應用程式能夠終止,而不是退出到後臺。當啟用這個鍵時,當按下Home鍵時,會終止應用程式,並從記憶體中清除它。
UIRequiresPersistentWifi (Boolean型,預設為關):指示IOS在應用程式活動時維持一條Wi-Fi連線
UIStatusBarHidden (Boolean型,預設為關):如果啟用這個鍵,則會在應用程式中啟動時隱藏狀態列
UIStatusBarStyle (string 型,預設為UIStatusBarStyleDefault):指定應用程式啟動時的狀態列的風格。