Prix ​​des achats in-app affichés à l'écran (avec devise)

Je veux que les buttons que vous avez tapés pour acheter quelque chose pour montrer le prix de cela.

Par exemple: "5 pièces 0,99 €"

Mais si je crée un UIlabel avec exactement ce text, les Américains verront également le prix en € au lieu des USD.

Maintenant, comment puis-je définir le prix où il s'adapte à la monnaie dans laquelle vit l'user? Je l'ai vu sur certains jeux donc je suis convaincu que c'est possible.

Je vous remercie!

Si les achats sont effectués via Apple App Store (en utilisant le framework StoreKit), vous devez get le prix + la devise de l'object SKProduct (les prix peuvent varier).

https://developer.apple.com/library/ios/documentation/StoreKit/Reference/SKProduct_Reference/

Mettre à jour

  1. vous devez effectuer une request pour charger les produits disponibles
var productID:NSSet = NSSet(object: “product_id_on_itunes_connect”); var productsRequest:SKProductsRequest = SKProductsRequest(productIdentifiers: productID); productsRequest.delegate = self; productsRequest.start(); 
  1. Le délégué de la request returnnera SKProduct .
 func productsRequest (request: SKProductsRequest, didReceiveResponse response: SKProductsResponse) { println("got the request from Apple") var count : Int = response.products.count if (count>0) { var validProducts = response.products var validProduct: SKProduct = response.products[0] as SKProduct if (validProduct.productIdentifier == self.product_id) { println(validProduct.localizedTitle) println(validProduct.localizedDescription) println(validProduct.price) buyProduct(validProduct); } else { println(validProduct.productIdentifier) } } else { println("nothing") } } 
  1. SKProduct contient toutes les informations nécessaires pour afficher les prix localisés, mais je suggère de créer une catégorie SKProduct qui met en forme le prix + la devise par rapport aux parameters régionaux actuels de l'user.
 import StoreKit extension SKProduct { func localizedPrice() -> Ssortingng { let formatter = NSNumberFormatter() formatter.numberStyle = .CurrencyStyle formatter.locale = self.priceLocale return formatter.ssortingngFromNumber(self.price)! } } 

Informations sockets d' ici et ici .

Vous pourriez vouloir localiser (internationaliser) votre interface et vos texts.

Pour ce faire, vous aurez regarder comment le faire pour:

  • Votre storyboard (vous en gérerez toujours un, mais traduisez les texts que vous voulez dans un file interne)
  • Dans votre code. À NSLocalizedSsortingng par exemple: http://goo.gl/jwQ5Po (Apple), http://goo.gl/S1dCUW (NSHipster), …