BloggerAds

2015年5月15日 星期五

[筆記] 34 個好用的 iOS 應用程式設定擋 info.plist 設定

我想最早的文章應該就是:應用程式的設定檔info.plist
這裡再分享一次並針對這些鍵值做一些整理!一定要看到後面啊!
1.
鍵名:UIApplicationExistsOnSuspend
顯示的名稱:Application does not run in background
說明:
當你在應用程式執行的時候按下 Home 鍵,應用程式並不會中斷目前的執行,而是躲到背景去了。因此希望使用者在按下 Home 鍵之後就要中斷目前程式的執行,請設定這個選項。

2.
鍵名:LSRequiresIPhoneOS
顯示的名稱:Application requires iPhone environment
說明:
iOS 的家族主要包含了 iPhone、iPad、iPod Touch 這三種設備。因此如果你的應用程式只能在 iPhone 環境下使用的話,請設定這個選項。

3.
鍵名:UIFileSharingEnabled
顯示的名稱:Application supports iTunes file sharing
說明:
在 iTunes 9.1 之後的版本增加了一個檔案共享的功能,只要打開這個選項,然後把你要共享的檔案儲存在 Documents 目錄裡面,就可以在 iTunes 裡面的應用程式標籤頁看到這份文件。反之亦可從 iTunes 上傳檔案至裝置上!

4.
鍵名:UIRequiresPersistentWiFi
顯示的名稱:Application uses Wi-Fi
說明:
如果你的應用程式需要使用的 WiFi 來連線的話,那麼你可以開啓這個功能。當使用者在執行這個應用程式的時候並未開啓 WiFi,那麼在畫面上會自動跳出對話框要求開啓 WiFi。

5.
鍵名:CFBundleSignature
顯示的名稱:Bundle creator OS Type code
說明:
CFBundleSignature 是一個四個字母長度的字串,用以表示開發者對於應用程式的標識。例如:在一個文字編輯的應用程式,你可以標識為 ”ttext”。

6.
鍵名:CFBundleDisplayName
顯示的名稱:Bundle display name
說明:
應用程式本土化的顯示名稱,預設值為 ${PRODUCT_NAME}。這個變數可以在雙敲擊Targets後出現的專案設定畫面中修改,找到”Product Name”後修改為你的產品名稱就可以了,編譯後的 .app 也會以這個名稱命名。

7.
鍵名:CFBundleIdentifier
顯示的名稱:Bundle identifier
說明:
用來標示應用程式的唯一 ID,通常是以反向的 DNS 方式命名的,例如:com.myCompany.myApp,這個名稱應該在 iTunes Connect 裡面新增的應用程式 ID 一致。

8.
鍵名:CFBundleName
顯示的名稱:Bundle name
說明:
應用程式的短名稱,通常就是你的應用程式名稱。

9.
鍵名:CFBundlePackageType
顯示的名稱:Bundle OS Type code
說明:
用來標識整個封包的(bundle)的類型。在 Mac 裡面,一個封包可能是一個檔案或目錄,其目的在於將軟體使用到的資源包在一起。例如應用程式應標識為 APPL。

10.
鍵名:CFBundleVersion
顯示的名稱:Bundle version
說明:
用以標識編譯版本(Bundle number),你可以使用任何字串格式來表示這個版本。例如使用一個數字來表示編譯次數。

11.
鍵名:CFBundleShortVersionString
顯示的名稱:Bundle version string, short
說明:
應用程式的版本,通常是以三個數字來表示版本號,例如:1.0.1。

12.
鍵名:LSExcutableArchitectures
顯示的名稱:Executable architectures
說明:
為一個陣列形態的設定值。為一個陣列形態的設定值。用以設定執行擋可以運行的架構環境,例:i386,ppc,ppc64,x86_64

13.
鍵名:CFBundleExecutable
顯示的名稱:Executable file
說明:
執行檔的名稱。

14.
鍵名:UIAppFonts
顯示的名稱:Fonts provide by application
說明:
為一個陣列形態的設定值。用來指定應用程式所使用的外部字型。你可以在應用程式內使用自己的字型檔,只要將字型檔案加入到專案內,在設定值指定字型檔名稱就可以在程式碼裡面使用到這些字型了。如果字形是使用免費的,把它加在這裡是最好的選擇了!

15.
鍵名:CFBundleGetInfoString
顯示的名稱:Get Info string
說明:
用於 Mac 的 Finder 上的應用程式的描述。

16.
鍵名:UIPrerenderedIcon
顯示的名稱:Icon already includes gloss effects
說明:
指定應用程式的圖示是否加上光暈效果,如果不希望加上光暈效果,那麼勾選此選項。

17.
鍵名:CFBundleIconFile
顯示的名稱:Icon file
說明:
用來設定應用程式的圖示檔,如果沒有指定的話,則使用預設值 Default.png,依照 Apple 的規定,這個圖是必須是 57x57 的圖形檔。

18.
鍵名:CFBundleIconFiles
顯示的名稱:Icon files
說明:
由於 iPhone 與 iPad 的開發工具以及 SDK 都是相同的,因此同一個應用程式也可以同時在兩個設備上使用,只不過兩著的圖是不太一樣。這個鍵值是一個陣列類型的設定值,用來指定 iPhone 與 iPad 的應用程式圖示,你只要給兩個圖示檔名,其中 iPhone 的圖示為 57x57 pixel,iPad 則為 72x72 pixel,系統會自動依照圖示大小判斷該圖示是使用在哪種設備上。

19.
鍵名:CFBundleInfoDictionaryVersion
顯示的名稱:Info dictionary version
說明:
info.plist格式的版本。一般來說,我們不會變動這個數值。

20.
鍵名:UIInterfaceOrientation
顯示的名稱:Initial interface orientateon
說明:
指定應用程式初始時的方向。

21.
鍵名:UILaunchImageFile
顯示的名稱:Launch image
說明:
用以指定應用程式啓動時的圖檔。

22.
鍵名:CFBundleDevelopmentRegion
顯示的名稱:Localization native development region
說明:
應用程式原始的語系版本。

23.
鍵名:CFBundleLocalizations
顯示的名稱:Localizations
說明:
用以指定應用程式所支援的語系。

24.
鍵名:CFBundleAllowedMimxedLocalizations
顯示的名稱:Localized resources can be mixed
說明:
是否允許應用程式可以取得框架庫內的語系檔。

25.
鍵名:NSMainNibFile
顯示的名稱:Main nib file base name
說明:
主要的Nib檔案名稱,預設值為MainWindow。

26.
鍵名:UIViewEdgeAntialiasing
顯示的名稱:Renders with edge antialisasing
說明:
設定core animation的圖層是否開啓抗鋸齒功能。

27.
鍵名:UIViewGroupOpacity
顯示的名稱:Renders with group opacity
說明:
設定core animation的圖層使否繼承上一層透明度。

28.
鍵名:UIBackgroundModes
顯示的名稱:Required background modes
說明:
設定當應用程式進入背景執行後,哪些動作要繼續在背景執行。這個鍵值是一個陣列類型的設定,可設定動作包括:audio,location,voip。

29.
鍵名:UIRequiredDeviceCapabilities
顯示的名稱:Required device capabilities
說明:
設定應用程式需要使用到的硬體,如此可以確定應用程式在該設備上執行時不會發生錯誤。

30.
鍵名:UIStatusBarHidden
顯示的名稱:Status bar is initially hidden
說明:
設定狀態列是否一開始隱藏。

31.
鍵名:UIStatusBarStyle
顯示的名稱:Status bar style
說明:
設定狀態列的顯示類型。

32.
鍵名:UISupportedExternalAccessoryProtocols
顯示的名稱:Supported external accessory protocols
說明:
指定應用程式與外界硬體配件間支援的通訊協定,這個鍵值是一個陣列設定,可以指定多個通訊協定。

33.
鍵名:UISupportedInterfaceOrientations
顯示的名稱:Supported interface orientateons
說明:
設定應用程式所支援的顯示模式(肖像模式或風景模式),這個鍵值是一個陣列,可以支援多個不同的顯示模式。

34.
鍵名:UIUpgradeOtherBundleIdentifier
顯示的名稱:Supported interface orientations
說明:
設定應用程式所支援的顯示模式(肖像或是風景模式),這個鍵值可以支援多個不同的顯示模式。

貼了之後才發現,33 和 34 是甚麼鬼東西, 看起來不是一樣的東西嗎?請出 Google 大神問了一下,發現一堆人也是直接就貼來參考用,根本就沒仔細看的感覺!
根據 Apple Developer 的討論串,某位 Apple 員工說「它不會照你想像的運作」、「請不要使用它了!」有興趣的可以進 Apple Developer 看看這篇討論!

所以...其實只有 33 個好用的設定列在這裡啦!

Apple Reference:
iOS Keys