我想得到我现在的国家;但我不想使用“LocationManager”或“NSLocale” 我只需要这个国家的名字。 有什么想法吗?
非常感谢:)
答案 0 :(得分:5)
你应该尝试获取Cellular信息
#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地址
获取国家/地区答案 1 :(得分:1)
我通过调用此URL
解决了这个问题 进行测试答案 2 :(得分:0)
请尝试此操作,它将与最新的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)));