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)