Ios 如何检查我的用户是否来自特定国家/地区,Swift

Ios 如何检查我的用户是否来自特定国家/地区,Swift,ios,swift,localization,location,Ios,Swift,Localization,Location,在我的应用程序中,我想获取我用户的电话号码,但我对电话号码的起始方式有限制,这是针对希腊的,但我不希望希腊以外的用户有此限制 那么有什么办法可以做到这一点呢 提前谢谢 在考虑了我们在评论中所说的内容后,我找到了一种方法。 我使用用户第一次打开手机时注册的国家/地区,如下所示: var localeArray = [String]() override func viewDidLoad() { super.viewDidLoad() localeArray = NSLocale

在我的应用程序中,我想获取我用户的电话号码,但我对电话号码的起始方式有限制,这是针对希腊的,但我不希望希腊以外的用户有此限制

那么有什么办法可以做到这一点呢


提前谢谢

在考虑了我们在评论中所说的内容后,我找到了一种方法。 我使用用户第一次打开手机时注册的国家/地区,如下所示:

var localeArray = [String]()

override func viewDidLoad() {
    super.viewDidLoad()

    localeArray = NSLocale.currentLocale().localeIdentifier.componentsSeparatedByString("_")


        }


func takeResult() {

   if localeArray[1] == "GR" {

       //do what you want
   }else {

      //handle if the user isn't in the country you want
   }
}
localArray
localArray[0]
)的第一个结果是用户拥有的系统语言

为SWIFT 3编辑

这就是你如何获得与swift 3相同的结果的方法


NSLocale
只是关于当前使用的区域设置的设置,并不表示您所在的实际国家/地区


使用
CLLocationManager
获取当前
location
CLGeocoder
执行反向地理编码。您可以从那里获取国家名称。

您可以使用地理位置数据库查找用户的位置。它不是100%可靠,但对于大多数应用程序/情况来说可能已经足够好了。感谢您的评论@johnelemans,但是如果用户不接受用户位置对话框,那么我就无法获取他的位置您可以使用ip地址。它不使用定位服务。哦,你知道我能查到什么资源吗;感谢您的回答,但首先如果用户不接受位置隐私,我将没有他的国家/地区,然后如果用户设置了希腊国家/地区,那么我知道他将有一个希腊数字,因此如果有人要度假,但有希腊数字,我希望限制
let locale = Locale.current
print(locale.regionCode)