2016-12-15 8 views
0

私のアプリでは、自分の電話番号を取得したいが、電話番号の開始方法は制限されているが、これはギリシャ向けだが、ギリシャ以外のユーザーにこの制限が欲しいです。ユーザーが特定の国にいるかどうかを確認する方法Ios、Swift

これを達成する方法はありますか?

ありがとうございます。

+0

ジオロケーションデータベースを使用してユーザーの場所をルックアップすることができます。それは100%信頼できるものではありませんが、ほとんどのアプリケーション/状況には十分に適しています。 –

+0

@johnelemansあなたのコメントをありがとうが、ユーザーがユーザーの場所のダイアログを受け入れない場合、私は彼の場所を取ることができませんでした –

+0

あなたはIPアドレスですることができます。ロケーションサービスは使用しません。 –

答えて

1

私がコメントで言ったことを考えた後、私はそれを行う方法を見つけました。 私は彼が最初にそのように自分の携帯電話を開いたときに、ユーザーが登録した国を使用します。

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 
    } 
} 

localArraylocalArray[0])の最初の結果は、ユーザーが持っているシステムの言語です。 SWIFT 3

FOR

EDITこれは迅速3がそれを見つけて、あなたが

let locale = Locale.current 
print(locale.regionCode) 
0

NSLocalehereは、現在使用地域の設定についてだけで設定されているのと同じ結果を得る方法です、それが意味するものではありませんあなたがいる実際の国。

使用CLLocationManager逆ジオコーディングを実行するために、現在のlocation & CLGeocoderを取得します。そこから国名を得ることができます。

+0

初めてのお返事ありがとうございます。ユーザーがその場所のプライバシーを受け入れない場合、私は彼の国を持っていません。そして、ユーザーがギリシャ国を設定していれば、ギリシャ語の番号ですので、誰かが休暇中ですが、ギリシャ語の番号がある場合は、制限が欲しい –

関連する問題