#ios #swift #in-app-purchase
#iOS #swift #покупка в приложении
Вопрос:
Я пытаюсь протестировать покупку в приложении с другой валютой и ценой. Прямо сейчас он всегда показывает мне INR. Я сменил страну своего устройства на США. Также я изменил страну своего Apple ID на США. Тем не менее, он показывает цену в индийских рупиях. Apple отклонила приложение, потому что они получают всплывающее сообщение об ошибке, в котором говорится, что цена и валюта равны нулю. На скриншоте, который они отправили, показана цена покупки в приложении в долларах США. Итак, я хочу повторить свою проблему и хочу отладить цену покупки в приложении в долларах США.
Итак, мой вопрос в том, как получить. Цена покупки в приложении в долларах США при тестировании из Индии?
Ниже приведен мой код для получения цены из StoreKit.
SwiftyStoreKit.retrieveProductsInfo([value]) { result in
if let product = result.retrievedProducts.first {
let priceString = product.localizedPrice!
print("Product: (product.price) (product.localizedDescription), price: (priceString)")
Loader.shared.stopAnimatingLoader()
responseHandler(product.localizedPrice!,Int(truncating: product.price), true)
Я также попытался использовать приведенный ниже код для получения информации о ценах из SKProduct, но он предоставляется в местной валюте вместо долларов США.
let numberFormatter = NumberFormatter()
numberFormatter.formatterBehavior = .behavior10_4
numberFormatter.numberStyle = .currency
numberFormatter.locale = product.priceLocale
let formattedPrice = numberFormatter.string(from: product.price)
Комментарии:
1. Не могли бы вы показать свой код для получения и отображения цены?
2. Добавлен соответствующий код.
3. Вы не должны использовать цену продукта напрямую, как в последней строке. Вы должны использовать product priceLocale для передачи цены через NumberFormatter и использовать только результирующую строку.
4. Хорошо, позвольте мне попробовать с помощью NumberFormatter и свяжусь с вами
5. Ну, предположительно, это то, что SwiftyStoreKit делает, чтобы получить локализованную цену. Но в вашем коде вы также получаете цену непосредственно в виде числа; это неправильно.