以编程方式更改 CLLocationManager 权限警报中的文本

Changing the Text in the CLLocationManager Permission Alert Programmatically

好的。我查看了队列中的其他各种请求,但不确定它们是否适用。

基本上都说"Y'all cain't git thar frem here."

这可能是唯一有效的答案,但我想我还是会问,希望我能找到解决这个问题的方法。

我希望能够更改 NSLocationWhenInUseUsageDescription key 中显示的文本。

之所以这样,是因为我想插入一个键,然后在运行时动态替换它。

"Why the heck would you want to do that?"你问。

好问题。

原因是我想在 Localizable.strings 文件中完成所有自定义和本地化,而不是分布在其他文件中。因为我要求人们免费进行本地化和定制,所以我想让非技术用户尽可能轻松地进行本地化。

我有一个解决方法:对不同的本地化和自定义使用不同的 info.plist 文件。这是一个完全可以接受的解决方法,但它使本地化稍微困难一些。

This discussion 告诉我这可能不可能。

我做了一个解决方法。

如评论中(以及许多其他地方)所述,您无法在运行时编辑 info.plist 文件设置的值。这可能是一个很好的做法,因为我可以看到安全后果,或者绕过 App Store 围墙花园的方法。

我所做的是在我的 Localizable.strings 文件中添加一行,其中包含此警报的本地化信息。

我从来没有在运行时真正使用过它。相反,我采用该行,并将值粘贴到本地化的 info.plist 文件中。

这不是一个完全自动的解决方案,但它确实允许我让人们只本地化一个文件。