本文介绍了屏幕上显示的应用内购买价格(含货币)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 我希望您点按的按钮可以购买一些东西来显示价格。 例如:5币€0,99 但是,如果我创建一个完全具有该文本的UIlabel,美国人也会看到以欧元而不是美元的价格。 现在,我如何设置适应用户所在货币的价格? 我在一些游戏中看到它,所以我确信这是可能的。 谢谢!解决方案如果通过Apple App Store购买(使用StoreKit框架),您需要从SKProduct对象获得价格+货币(价格会有所不同)。 https://developer.apple.com / library / ios / documentation / StoreKit / Reference / SKProduct_Reference / 更新 您需要执行加载可用产品的请求 var productID:NSSet = NSSet(object:product_id_on_itunes_connect); var productsRequest:SKProductsRequest = SKProductsRequest(productIdentifiers:productID); productsRequest.delegate = self; productsRequest.start(); 请求委托将返回 SKProduct 。 func productsRequest(请求:SKProductsRequest,didReceiveResponse响应:SKProductsResponse){ println(得到Apple的请求) var validProducts = response.products if!validProducts.isEmpty { 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)} } SKProduct包含显示本地化价格所需的所有信息,但我建议创建SKProduct类别,将价格+货币格式化为用户当前区域设置 import StoreKit 扩展名SKProduct { func localizedPrice() - > String { let formatter = NSNumberFormatter() formatter.numberStyle = .CurrencyStyle formatter.locale = self.priceLocale return formatter.stringFromNumber(self.price)! } } 从这里和这里。 Swift 4 import StoreKit 扩展名SKProduct { var localizedPrice :String { let formatter = NumberFormatter() formatter.numberStyle = .currency formatter.locale = priceLocale return formatter.string(from:price)! } } I want the buttons that you have to tap to buy something to show the price of that.For example: "5 coins €0,99"But if I create a UIlabel with exactly that text, Americans will also see the price in € instead of usd.Now how can I set the price where it adjust to the currency the user lives in?I saw it on some games so I am convinced that this is possible.thank you! 解决方案 If purchases are done via Apple App Store (using StoreKit framework) you need to get price + currency from SKProduct object (prices will vary).https://developer.apple.com/library/ios/documentation/StoreKit/Reference/SKProduct_Reference/Updateyou need to perform request to load available productsvar productID:NSSet = NSSet(object: "product_id_on_itunes_connect");var productsRequest:SKProductsRequest = SKProductsRequest(productIdentifiers: productID);productsRequest.delegate = self;productsRequest.start();Request delegate will return SKProduct.func productsRequest (request: SKProductsRequest, didReceiveResponse response: SKProductsResponse) { println("got the request from Apple") var validProducts = response.products if !validProducts.isEmpty { 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") }}SKProduct contains all needed information to display localized price, but I suggest to create SKProduct category that formats price + currency to user current localeimport StoreKitextension SKProduct { func localizedPrice() -> String { let formatter = NSNumberFormatter() formatter.numberStyle = .CurrencyStyle formatter.locale = self.priceLocale return formatter.stringFromNumber(self.price)! }}Information taken from here and here.Swift 4import StoreKitextension SKProduct { var localizedPrice: String { let formatter = NumberFormatter() formatter.numberStyle = .currency formatter.locale = priceLocale return formatter.string(from: price)! }} 这篇关于屏幕上显示的应用内购买价格(含货币)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!
10-20 14:51