I ran into this problem a while back, и мне удалось найти способ, который работает для моих целей. Это не красиво, а не будущее доказательство, оно также не задокументировано. Но в настоящее время у меня есть приложение в AppStore, которое использует это.
О, и это только протестировано на iOS 7.0 - 8.2!
Так что да, для прошивки я знаю, что можно найти MMC and MNC, и таким образом вы найти страну и поставщик:
// This is the location of the operator symlink
static NSString * operatorPListSymLinkPath = @"/var/mobile/Library/Preferences/com.apple.operator.plist";
// Here we get the path where the symlink points to
NSFileManager * fileManager = [NSFileManager defaultManager]
NSError * error;
NSString * operatorPListPath = [fileManager destinationOfSymbolicLinkAtPath:operatorPListSymLinkPath error:&error];
Путь оператора содержит несколько номеров, из которых первых трех являются MCC (Mobile Country Code) провайдера и несколько после этого является MNC (Mobile Network Code)
Я просто хотел, чтобы найти страну (MCC), так что я использовал это:
operatorPListPath = [operatorPListPath stringByTrimmingCharactersInSet:[[NSCharacterSet characterSetWithCharactersInString:@"1234567890"] invertedSet]];
NSString * countryMCC = [operatorPListPath substringToIndex:3];
Все, что вам нужно, это словарь MCC> Страна и MNC> Сеть словарь, чтобы проверить, что эти коды стоят на
не может помочь вам с Android, хотя .. :)
Очень полезно, есть способ найти код страны ISO? – Bagbyte
@ user915829 Я думаю, вам нужно будет найти или сделать словарь MCC/MNC: страна ISO сама ... – brechtb