Trouver les paramètres régionaux de la monnaie pour iphone par programmation
Je veux trouver la monnaie locale de l'utilisateur de l'iphone par programmation. Cela signifie que, si l'utilisateur est dans le Magasin des états-unis, la monnaie locale doit être d'USD, pour l'Australie, il devrait être AUD. Mon but de cette tâche est d'essayer de convertir le prix de l'article figurant sur notre application pour être près de match avec le prix que l'AppStore demander.
Par exemple, si nous vendons une vidéo de 3 usd, et un Australien veut l'acheter, alors je devrais montrer 2.8 AUD dans mon écran d'application. Il permettra de réduire le calcul de l'utilisateur sur le prix réel de son pays. Quelqu'un sait comment faire?
- +1, même question ici. Quelqu'un peut aider?
- +1, bonne chose à savoir.
- stackoverflow.com/questions/4427680/...
- Je pense que SKProduct a la méthode priceLocale qui renvoie NSLocale. Je pense que vous pouvez/devez utiliser et qui montrent que pour les utilisateurs...?
Vous devez vous connecter pour publier un commentaire.
Dans la plupart des cas, le symbole de la devise ne sera pas assez. Par exemple, en Allemagne, nous écrivons nos prix de ce genre: 1,99€, mais les gens dans les etats-unis utilisent à 1,99$. Il y a trois différences dans la chaîne. Le symbole de la monnaie, la position et le séparateur.
Si vous voulez le faire correctement, vous devez utiliser un NSNumberFormatter. Il prend soin de toutes les différences entre les formats en devise. Et il le fait beaucoup mieux que vous. Parce qu'il le fait pour toutes les monnaies, et pas seulement pour les 4 principales devises que vous souhaitez soutenir.
Si vous voulez l'utiliser pour achat in-app vous ne pouvez pas compter sur les utilisateurs locaux, car il est possible d'utiliser un compte basé sur un appareil avec un DE (allemand) paramètres régionaux. Et le prix de votre article (prix réel est de 0,79€ en Allemagne) montrerait que 0,99€ (parce qu'il en coûte $0.99 US). Ce serait une erreur. Vous obtenez un localisée prix déjà à partir de l'app store, il n'est pas nécessaire de faire des calculs sur votre propre.
Et vous obtenez un prix et un priceLocale pour chacun de vos SKProducts.
Vous obtenez la bonne formaté monnaie chaîne comme ceci:
EDIT: depuis que vous avez spécifiquement demandé le code de la devise.
Vous pouvez l'obtenir avec
NSString *currencyCode = [formatter currencyCode];
Cela vous donnera le code de la devise selon la norme ISO 4217. AUD, USD, EUR et ainsi de suite.currencyCode
à "EUR" il montre le symbole correct... hmJ'ai utilisé ces touches pour extraire les symboles des devises et des codes de paramètres régionaux
J'ai utilisé le code ci-dessous dans mon appli pour récupérer le local curreny de signer et de trouver les délimiteurs. Je vais vous aider,
Grâce.
Matthias Bauch réponse rapide:
merci pour votre réponse. J'ai finalement compris que je peux récupérer le prix et le code de la devise directement auprès d'Apple: