簡體   English   中英

iOS - 在不使用CLLocationManager的情況下確定用戶的國家/地區

[英]iOS - Determine User's country without using CLLocationManager

我不需要精確的位置數據,我不希望用戶看到“此應用程序想要確定您的位置”警報。 我只需要確定用戶的國家/地區,假設他們通過網絡或Wi-Fi連接互聯網。

做這個的最好方式是什么? 有沒有辦法使用他們的IP?

這只有在有承運人的情況下才有效:

CTTelephonyNetworkInfo *netInfo = [[CTTelephonyNetworkInfo alloc] init];
CTCarrier *carrier = [netInfo subscriberCellularProvider];
NSString *mcc = [carrier mobileCountryCode];

並且NSLocale不可靠,因為用戶可以在其設備設置中更改它。 出於同樣的原因,無法使用設備的語言設置。 我需要國家根據他們的實際所在地。

您可以獲取用戶的IP地址並使用地理位置數據庫根據此處所述來猜測其位置: https//en.wikipedia.org/wiki/IP_address_location 如果您只關心地區,您可以在地區互聯網注冊管理機構( https://en.wikipedia.org/wiki/Regional_Internet_registry )網站上找到一些數據來幫助您,因為它們可以控制特定地區的所有IP地址。

請參閱此網址首次在iphone上運行時whatsapp如何知道國家/地區代碼 ..希望這個問題和網址中的問題我已經為您提供了工作

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM