Delphi For iOS開發指南(18):讓Delphi XE4開發的iOS應用顯示爲中文名稱

有好些個D友問我,如何讓Delphi XE4開發的iOS應用顯示爲中文名稱,

我在想,難道EMBXE4iOS開發上沒有很好的支持中文麼?

 

就像我們在XE4運行IOS應用程序的時候,

XE4會通過PAServer將編譯好的APP傳輸到Mac下的這個目錄裏,

目錄名是根據你Windows的用戶名+Profile名來取的,這個目錄名就不支持中文,

如果你的Windows用戶名是中文,那麼可能會出現Deploy失敗的情況,也就是不能將編譯好的APP傳輸到Mac下,所以你的Windows用戶名應該要不包含中文的。

 

如果應用名稱不能支持中文,那就完蛋了,一些用戶一看,這個名稱是英文的,以爲是國外的軟件,

應用裏面的其他東西應該也都是英文的,自己肯定不會用,那就不去下載了。

 

有點羅嗦了,接下來我講一下更改Delphi XE4開發的iOS應用顯示爲中文名稱的方法,很簡單,就一下子,看下圖:

 

在工程管理視圖右鍵,彈出的菜單中選中“Options”,在彈出的Options窗體的“Version Info”頁中,右下角的列表中第三個項,“CFBundleDisplayName”就是我們要設置的項,這個值原先是$(ModuleName),表示是工程的名稱,像我圖中的這個工程,是“Project2”,那麼它在iOS中顯示的就是“Project2”,

我在這裏把它改成了“Delphi老師”,然後運行一下,它就會在模擬器中顯示成中文了,如下圖:

 

 

 

順帶講一下其他這些選項表示什麼意思:

 

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

 

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

 

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

 

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

 

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

 

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

爲了指定一個發佈版的束的版本信息,可以使用CFBundleShortVersionString關鍵字。參見“CFBundleShortVersionString”。

 

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

 

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

 

LSRequiresIPhoneOS:因此如果你的應用只能在iPhone環境下使用的話,請設置爲True

 

CFBundleAllowMixedLocalizations:我們只需要在項目的 Info.plist文件中將這個鍵的值設置爲 true。顧名思義,這個鍵允許混合形式的本地化。也就是說,當你設置了這個鍵之後,不管你的應用是否支持當前設備的語言環境,iOS系統都會儘可能都根據當前的語言進行本地化。

 

CFBundleExecutable:CFBundleExecutable標識了束的可執行主文件的名稱。對於一個應用程序來說,就是該應用程序的可執行文件。對於一個可加載束,它是一個可以被束動態加載的二進制文件。對於一個框架,它是一個共享庫。Project Builder會自動把該關鍵字加入到合適項目的Info.plist文件中。

對於框架,考慮到啓動效率的原因,可執行文件名需要和框架名同名。該可執行文件名不應該包含可用於多種平臺的擴展名。

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

 

UIDeviceFamily:支持的設備

 

CFBundleResourceSpecification:未知。。。。

 

 

 

 

 

 

XCode中開發iOS應用程序的時候也需要設置中文顯示名稱,是在工程的info.plist文件中進行設置的,

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章