正確な位置データは必要ありません。ユーザーに「このアプリはあなたの位置を特定しようとしています」という警告を表示したくありません。ネットワークまたはWi-Fi経由でインターネットに接続していると仮定して、ユーザーの国を特定する必要があります。
これを行う最善の方法は何ですか?彼らのIPを使用する方法はありますか?
これは、キャリアがある場合にのみ機能します。
CTTelephonyNetworkInfo *netInfo = [[CTTelephonyNetworkInfo alloc] init];
CTCarrier *carrier = [netInfo subscriberCellularProvider];
NSString *mcc = [carrier mobileCountryCode];
またNSLocale
、ユーザーがデバイス設定で変更できるという点で信頼性がありません。同じ理由で、デバイスの言語設定を使用できません。物理的な場所に基づいて国が必要です。