我想得到我现在的国家;但我不想使用“LocationManager”或“NSLocale”我只需要国家名称。有什么想法吗?
非常感谢 :)
您应该尝试获取蜂窝信息
#import <CoreTelephony/CTCarrier.h>
#import <CoreTelephony/CTTelephonyNetworkInfo.h>
// Setup the Network Info and create a CTCarrier object
CTTelephonyNetworkInfo *networkInfo = [[[CTTelephonyNetworkInfo alloc] init] autorelease];
CTCarrier *carrier = [networkInfo subscriberCellularProvider];
// Get carrier name
NSString *carrierName = [carrier carrierName];
if (carrierName != nil)
NSLog(@"Carrier: %@", carrierName);
// Get mobile country code
NSString *mcc = [carrier mobileCountryCode];
if (mcc != nil)
NSLog(@"Mobile Country Code (MCC): %@", mcc);
// Get mobile network code
NSString *mnc = [carrier mobileNetworkCode];
if (mnc != nil)
NSLog(@"Mobile Network Code (MNC): %@", mnc);
或者
您应该尝试从设备 IP 地址获取 Country
我通过调用这个 url 解决了它
请试试这个,它可以使用最新的 PHP 版本 100
$ip=$_SERVER['REMOTE_ADDR'];
$Details=unserialize(file_get_contents('http://www.geoplugin.net/php.gp?ip='.$ip));
如果您想检查完整的数组,请尝试以下一个
echo var_export(unserialize(file_get_contents('http://www.geoplugin.net/php.gp?ip='.$ip)));