首页 > 解决方案 > 我的 iOS/Android 设备连接到什么 AppStore

问题描述

沙特阿拉伯要求我排除他们国家的一些敏感特征(特别是识别同性恋的特征,如果你好奇的话)。

因此,我想根据用户连接到的应用商店对应用进行本地化。

我尝试在 iOS 上使用 NSLocale 并在 Android 上使用 java.util.Locale 但这些似乎与用户在其设备上选择的本地化国家/地区更紧密相关(在他们为设备选择语言的同一一般区域)

这样做的问题是,沙特阿拉伯的许多人在海上购买手机(英国就是一个常见的例子),他们最终只是将语言更改为阿拉伯语,但将语言环境保留为 GB。或者他们只是将其保留为英语,并使用 GB 的语言环境。

因此,Locale 似乎是进行此类本地化的糟糕选择。有没有人知道 API 可以让您确定您的设备连接到哪个商店?

标签: androidiosapp-store

解决方案


在 iOS 上,您可以使用Core Location框架,而不是使用Locale 。该框架将帮助您获取正在使用您的应用的设备所在的国家/地区。

  1. 第一步是使用CLLocationManager类来获取您的应用正在使用的设备的坐标。
  2. 第二步是使用CLGeocoder类来反向地理编码并获取国家/地区详细信息。

使用此框架,如果您希望实施该框架,您甚至会收到任何位置更改的通知。


推荐阅读