Chr*_*ian 11 ios settings.bundle ios8 today-extension
在应用程序中,我可以在设置中选择应使用哪种语言.如果未选择任何内容,则会检测并选择iPhone语言为英语,法语或德语.如果这些语言都不是iPhone语言,则设置为使用英语.手动更改设置中的语言可以正常工作.现在我添加了一个今天的扩展,它运行得很好但我需要访问settings-bundle来获取语言的NSUserDefaults(如果手动更改).在这两个目标中,我激活了App-Groups
group.com.companyname.appname
Run Code Online (Sandbox Code Playgroud)
并选择它.
在应用程序中我得到了语言
NSString *manualLanguageSet = [[NSUserDefaults standardUserDefaults] valueForKey:SPRACHWAHL];
Run Code Online (Sandbox Code Playgroud)
在今天的扩展中,我试图通过:
NSString *manualLanguageSet = [[[NSUserDefaults alloc] initWithSuiteName:@"group.com.companyname.appname"] valueForKey:SPRACHWAHL];
Run Code Online (Sandbox Code Playgroud)
对于NSLog(@"Settings-Sprache: %@", manualLanguageSet);运行today-extension时的结果是(无论是否在设置中选择了哪种语言)
2014-09-13 16:48:36.331 HdB今日[3734:284836]设置 - Sprache:(null)
我该怎么做才能更正/如何访问设置(settings.bundle)?
我也在寻找它。我知道如何做到这一点的唯一方法是通过 SharedContainer。在你的例子中你应该打开你的
[[[NSUserDefaults alloc] initWithSuiteName:@"group.com.companyname.appname"] valueForKey:SPRACHWAHL];
在容器应用程序中,然后从容器应用程序的 NSUserDefaults 复制语言值,如下所示:
[[[NSUserDefaults alloc] initWithSuiteName:@"group.com.companyname.appname"] setObject:[NSUserDesaults standardUserDefaults] objectForKey:SPRACHWAHL] forKEY:@"Your Key in extension"]];
然后您将能够访问扩展中的共享容器并获取这些值。
如果有人有更好的方法,我也很高兴知道。
| 归档时间: |
|
| 查看次数: |
1307 次 |
| 最近记录: |