我有一个场景,我有本地化文件从服务器下载。我在应用程序开始时下载文件并将其存储在文件夹中。就像其英文文件一样,我将其存储在文件夹'en.lproj'中,并且名称为Localizable.strings。如何卸载NSBundle?
现在,当下载文件时,我使用bundleWithPath:方法加载该包。一旦它被加载,我显示本地化使用方法
NSLocalizedStringFromTableInBundle(key,@“Localizable”,bundle,@“”);
直到这里它工作正常。 现在,如果文件从服务器更新,我再次下载英文文件,并用新文件替换旧文件。 但是,应用程序显示了被替换的旧文件的本地化。 任何人都可以告诉我,我们是否可以重新加载捆绑包,以便反映更新。
在上述情况下,应用程序在文件更新时不会被终止。 如果我终止应用程序并重新启动它,则会反映更改。 但我希望在不杀死应用程序的情况下反映更改。
是否有任何方法卸载加载的NSBundle?
在真实的iOS设备上,您无法更新应用程序的包 - 它是只读的。 – rmaddy
@rmaddy:这不是主要的捆绑。我正在创建一个新的捆绑包。所以我们可以通过编码改变它。 – Chetan