android - 我的 iOS/Android 设备连接到什么 AppStore
问题描述
沙特阿拉伯要求我排除他们国家的一些敏感特征(特别是识别同性恋的特征,如果你好奇的话)。
因此,我想根据用户连接到的应用商店对应用进行本地化。
我尝试在 iOS 上使用 NSLocale 并在 Android 上使用 java.util.Locale 但这些似乎与用户在其设备上选择的本地化国家/地区更紧密相关(在他们为设备选择语言的同一一般区域)
这样做的问题是,沙特阿拉伯的许多人在海上购买手机(英国就是一个常见的例子),他们最终只是将语言更改为阿拉伯语,但将语言环境保留为 GB。或者他们只是将其保留为英语,并使用 GB 的语言环境。
因此,Locale 似乎是进行此类本地化的糟糕选择。有没有人知道 API 可以让您确定您的设备连接到哪个商店?
解决方案
在 iOS 上,您可以使用Core Location框架,而不是使用Locale 。该框架将帮助您获取正在使用您的应用的设备所在的国家/地区。
- 第一步是使用CLLocationManager类来获取您的应用正在使用的设备的坐标。
- 第二步是使用CLGeocoder类来反向地理编码并获取国家/地区详细信息。
使用此框架,如果您希望实施该框架,您甚至会收到任何位置更改的通知。
推荐阅读
- drools - 绑定到地图条目
- java - 使用 java servlet 在重定向响应中丢失 HTTP 自定义标头
- python - 为什么要显式调用 asyncio.StreamWriter.drain?
- sql - 使用 Access SQL 检查重复项
- vb.net - 如何启用构建配置 Visual Studio 2010 express
- python - 为什么 Keras fit_generator() 在实际“训练”之前加载
- c# - 通过http打开网站时总是重定向到登录页面
- excel - 根据单元格包含的内容插入多行,然后填充它们
- sql-server - 我们能否有一个 SQL 查询来列出数据库中任何过程中未引用的所有表?
- sql-server - 为什么 SQL 事务日志变得越来越大?