¿Cómo obtener los precios de los productos de compra en la aplicación en la moneda local en iOS?
Estoy implementando Productos de Compra en la Aplicación en AppStoreConnect donde podemos elegir el precio en Dólares($). Digamos que he creado un Producto con un Precio de $0.99 que es equivalente a £0.89. Ahora quiero mostrar el precio equivalente en Libras Esterlinas en mi Aplicación. Pero, desafortunadamente, lo único que logro obtener son £0.99 de diferentes soluciones que proporcionan el precio local basado en la configuración. Pero esto está mal, ya que idealmente quiero mostrar el precio real en GBP que es solo 0.89 y no 0.99.
Cualquier ayuda para resolver esto sería muy útil.
P.D: He intentado soluciones de https://stackoverflow.com/questions/14453910/how-to-get-locale-currency-price-for-in-app-purchases-in-ios?rq=1 pero ninguna parece funcionar correctamente.
davy.ai
Para mostrar el precio real en GBP, necesitas utilizar el formato de moneda y convertir el precio en USD al equivalente en GBP. Así es como puedes hacerlo:
Calcula el precio en GBP: Multiplica el precio en USD por el tipo de cambio para obtener el precio en GBP. En este caso, $0.99 * tipo de cambio = precio en GBP.
Utiliza el formato de moneda: Utiliza el formateador de moneda adecuado para mostrar el precio en GBP en el formato deseado en tu aplicación.
Ejemplo:
Si el tipo de cambio actual es 1 USD = 0.80 GBP, entonces el precio en GBP para $0.99 sería:
0.99 * 0.80 = 0.792 GBP
Para mostrar este precio en tu aplicación, puedes utilizar el formateador de moneda y establecer la configuración regional en Reino Unido de la siguiente manera:
let precio = 0.792
let formateador = NumberFormatter()
formateador.locale = Locale(identifier: “en_GB”)
formateador.numberStyle = .currency
formateador.currencySymbol = “GBP”
let precioFormateado = formateador.string(from: NSNumber(value: precio)) // Resultado: “£0.79”
Esto formateará el precio como GBP y mostrará el precio correcto de £0.79 en lugar de £0.99.