2014-03-13 166 views
0

在我的應用程序中,我已經在設置頁面中實現了一些功能。有什麼方法可以通過從數據庫中獲取本地化標題來更改設置頁面的標題字符串(NOT THE KEY)。如果不可能,是否有任何方法可以根據用戶首選項加載本地化字符串文件(.lproj),而不考慮設備語言。我如何手動加載設置包中的語言 - ios

我的情景:

案例1:

實現:

用戶打開應用程序 - >獲取基於設備語言 - >服務器更新應用程序的字符串

要實現本地化的字符串:

設置屏幕 - >應該使用從服務器獲取的本地化字符串(設備區域設置)進行更新。

案例2:

實現:

用戶登錄應用程序 - >根據用戶的喜好從服務器上獲取本地化的字符串 - >更新應用程序字符串

實現以下功能:

設置屏幕 - >應該用本地化字符串更新(根據用戶首選語言)

其他場景: 如果上述兩種情況「實施」是不可能的。我需要手動加載設置包中的字符串(.lproj)。例如。如果用戶登錄並且他/她的語言是法語的,我需要手動加載設置包中的fr.strings文件。在這種情況下,當設備語言改變時,設置包將加載相應的語言。但在我的情況下,我需要在登錄用戶的設置包中加載語言,而不考慮設備語言。

在上述情況下,我需要實現「執行」部分。有沒有什麼辦法可以做到這一點。

任何幫助,非常感謝。

回答

0

如果這是一個設置包,否則在Xcode中構建應用程序後無法對其進行修改。設置包是代碼簽名的,因此無法更改並且無法加載新字符串。因此,您無法複製從服務器下載的新字符串。

設置必須在應用程序中移動,您可以在其中控制源代碼,並且可以換出字符串,因爲它聽起來像您已經擁有的其他應用程序一樣。

+0

你能否詳細說明你提到的最後一點。是否可以在設置屏幕(在iPhone設置中)換出字符串,就像我在應用程序 –

+0

中所做的那樣不行,這是不可能的。由於代碼簽名(蘋果公司強制執行的安全性),應用程序安裝後無法修改設置。 真正解決此問題的唯一方法是將設置移動到您的應用程序中,在該應用程序中您可以在運行時控制字符串。 –