2017-08-24 3 views
0

J'ai besoin d'aide ... Je suis nouveau à iPhone développement d'applications et de travailler sur une page d'inscription. Scénario: ->Comment puis-je obtenir le code de pays de mon iPhone sans utiliser le service GPS ou de localisation?

  1. Services de localisation est désactivé.
  2. Deux champs de texte, un pour le code de pays du téléphone et un autre pour le numéro de téléphone.
  3. Lorsque la page d'enregistrement apparaît, le code du pays doit être automatiquement rempli avec le code du pays de l'appareil.

Problème: -> J'éprouve des difficultés à aller chercher le code du pays à partir des informations de l'appareil. En outre, quelle information peut-je utiliser pour la même ... IMEI, MDN, Locale, etc ...


Toute réponse est appréciée ..!

+2

double possible de [Comment obtenir Country Mobile et code réseau sur un iPhone] (https://stackoverflow.com/questions/2559449/comment-obtenir-mobile-pays-et-réseau-code-sur-un-iphone) – nathan

+0

Comment appréciez-vous les réponses à ce jour? –

+0

merci beaucoup –

Répondre

0

Vous pouvez obtenir ces informations de cadre CoreTelephony « iOS:

#import <CoreTelephony/CTTelephonyNetworkInfo.h> 

... 

@property (nonatomic, strong) CTTelephonyNetworkInfo* networkInfo; 

... 

self.networkInfo = [[CTTelephonyNetworkInfo alloc] init]; 

NSString* country = [self.networkInfo subscriberCellularProvider].isoCountryCode; 

je copie-collé rapidement ce d'une de mes applications. Je crois que vous pouvez convertir cela en Swift si vous en avez besoin.

subscriberCellularProvider donne accès à l'objet CTCarrier, qui contient plus de champs que le code de pays: MCC, MNC, nom de l'opérateur et un indicateur si la VoIP est autorisée.

iOS ne donne pas accès à IMEI.

Les API d'achat d'applications peuvent vous indiquer sur quel iTunes Store l'utilisateur se trouve; un code de pays ISO à nouveau. Vous avez probablement besoin que IAP soit activé pour votre application, donc lorsque vous ne vendez rien, cela peut ne pas être autorisé.

La configuration locale peut en effet vous donner également un code de pays:

let locale = NSLocale.currentLocale() 
let country = currentLocale.objectForKey(NSLocaleCountryCode) as? String