我希望能够在我的iOS应用程序中添加/编辑语言。因此,我遵循this question中的方法,然而无法使其工作。
这就是我所做的:
我创建了一个文件夹myFolder
,并将本地化文件夹(en.lproj,...)从我的XCode项目拖到该文件夹中。然后我将其重命名为myFolder.bundle
。
然后我尝试从如下的URL加载整个包:
NSURL *url = [NSURL URLWithString:@"http://192.168.0.12/language_plists/Localizable.bundle"];
NSBundle *bundle = [[NSBundle alloc] initWithURL:url];
会抛出以下错误:
由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'*** - [NSBundle initWithURL:]:非文件URL参数'
答案 0 :(得分:2)
显然它不能使用非文件URL,因为NSBundle只处理文件URL。最好是下载,你必须下载到Cache或Document位置,你必须明确地这样做。
此外,您需要重新提交应用程序以获得本地化的许多好处,因为您的App Store条目仅包含可在下载之前进行测试的语言。
答案 1 :(得分:1)
您可以选择此github
在您的文档目录中下载您的json文件并访问其路径。
即
//Download the app from server and save it to Document directory
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *path = [[paths lastObject] stringByAppendingPathComponent:@"strings.json"];