IOS

2013-07-17 23 views
6

içinde dolaşım durumu almak için nasıl benim iOS uygulamasında alana dolaşım girdiğinizde bildirim almak istediğinizi, zaten NSLocale, SCNetworkReachability belgelerine okudum ve çekirdek telefon (Ben bir şey kaçırmış olabilir). Bu bilgiyi sim'den (veya mümkünse başka bir yoldan) almam gerekiyor.IOS

+1

onay bu iki soruyu http://stackoverflow.com/questions/900547/is-there-any-way-to-determi yardımcı

NSString* homeCountry = [netInfo.subscriberCellularProvider isoCountryCode]; 

Umut olurdu ve http://stackoverflow.com/questions/12473490/is-there-any-ways-to-detect-the-roaming-status-on-ios-6 –

+0

plz payı ne-eğer-iphone-roaming kod ... waht şimdiye kadar – madLokesh

+1

kadar denedim, ben ip adresi izleme ve o ipin yerini bana verebilir bir web hizmeti arayarak denedim, ama web hizmeti kullanmak için farz edelim. Ülke kodunu karşılaştırmak için mobil telefon kodunu mobil telefondan kullanabilirim. 2) İkinci kısıtlama, biz, bu bilgi için SIM güvenmek zorunda anlamına geldiğini bazı nasıl sim – Rana

cevap

1

Dolaşım durumunu algılamak için bir iOS API'si yoktur, ancak aygıtın IP adresine dayalı olarak geçerli olan ülke kodu operatör kodunu bulmak için http://ipinfo.io (kendi hizmetim) gibi üçüncü taraf hizmetlerini kullanabilirsiniz. Ardından, aygıtın dolaşımda olup olmadığını belirlemek için bunu CTCarrier ayrıntılarıyla karşılaştırabilirsiniz. İşte standart ipinfo.io API tepkidir:

$ curl ipinfo.io/24.32.148.1 
{ 
    "ip": "24.32.148.1", 
    "hostname": "doc-24-32-148-1.pecos.tx.cebridge.net", 
    "city": "Pecos", 
    "region": "Texas", 
    "country": "US", 
    "loc": "31.3086,-103.5892", 
    "org": "AS7018 AT&T Services, Inc.", 
    "postal": "79772" 
} 

Özel paketleri de olsa mobil IP'ler mcc/mnc ayrıntıları içerdiğini mevcuttur. Detaylar için bakınız http://ipinfo.io/developers.

+0

Bu, VPN ile nasıl çalışır? –

+0

Bu yalnızca VPN olmadan, hücresel ağ üzerinden bağlanırken çalışır. Bununla birlikte, kullanıcının iOS API'lerini kullanarak wifi/hücresel olup olmadığını ve ipinfo.io yanıtının hücresel bağlantı olup olmadığını da belirtebilirsiniz. Ben yurtdışında olduğum zaman –

2

genel yöntem, çekirdek telefon arayüzü taşıyıcı ülke kodunu almak için olması ve daha sonra bir konum coğrafi kodlamasını tersinden ülke kodu ile bu karşılaştırmak.

Avantajları: VPN ile ve ne zaman dolaşım sırasında kullanıcı verilerini devre dışı bıraktı çalışır. Dezavantajları: konumsuz çalışmıyor.

sana verilecek olmayan telif kodu yok, ancak yer işaretleri ihtiyaç tuşuna ülke kodu için ihtiyaç sözlüğe olduğunu @ "CountryCode" coğrafi kodlama olurdu gibi bir şey: -

CLGeocoder* geocoder = [[CLGeocoder alloc] init]; 
[geocoder reverseGeocodeLocation:location completionHandler: ^(NSArray* placemarks){}] 

sağlayıcı için ülke kodu bu

+0

ama, isoCountryCode öyleyse varım, örneğin ben Almanya'ya gitmek eğer öyleyse, CoreTelephony "de" döndürür ve benim reverseGeoCodeLocation ayrıca "de" döndürür ... hala ters geocodelocation CountryCode olarak _same_ olduğunu * değil * dolaşım? – dOM