我正在创建这个 iOS 应用程序,我在其中使用 PushWoosh (www.pushwoosh.com) 通知服务。通知工作正常,但现在我想根据应用程序的区域设置来区分通知:我希望以英语运行其操作系统的应用程序用户接收英语通知,德国用户接收德语通知等。为此,我用 PushWoosh 多次注册了这个应用程序,因此每个本地化都有自己的 Pushwoosh 应用程序 ID。为简单起见,我的目标是将所有本地化内容放在一个文件中(“localizable.strings”)。PushWoosh 需要在 info.plist 中列出他们的 APPID。所以对我来说有意义的是将 PushWoosh .plist 键的值本地化。这就是我所做的:
在.plist中,我替换了
<key>Pushwoosh_APPID</key>
<string>2B46A-F82CC</string>
和
<key>Pushwoosh_APPID</key>
<string>PUSHWOOSH_ID</string>
然后,在 localizable.strings 中,我添加了以下条目:
"PUSHWOOSH_ID" = "2B46A-F82CC";
最后,在代码中,我替换了
[[NSUserDefaults standardUserDefaults] setObject:appCode forKey:@"Pushwoosh_APPID"];
和
[[NSUserDefaults standardUserDefaults] setObject:appCode forKey:NSLocalizedString(@"Pushwoosh_APPID", nil)];
然而,不知何故,在运行应用程序时,“Pushwoosh_APPID”解析为“PUSHWOOSH_ID”,而不是“2B46A-F82CC”。
localizable.strings 中的所有其他字符串都被调用得很好,所以我想这是一个语法问题。
具体问题:代码方面我做错了什么?另外,如果这通常是一种不受欢迎的方法,请向我开枪。
提前致谢!