оповещение - приложение акции iphone нефть



Как получить языковые курсы валют для покупок в приложениях в iOS? (6)

В Swift 3:

    let numberFormatter = NumberFormatter()
    numberFormatter.formatterBehavior = .behavior10_4
    numberFormatter.numberStyle = .currency
    numberFormatter.locale = product.priceLocale
    let formattedPrice = numberFormatter.string(from: product.price)

Я хочу узнать местоположение App Store пользователя. Это означает, что они находятся в магазине в США, Австралии (AUD). Используется следующий код.

- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response
{
    Books = response.products;
    if ([SKPaymentQueue canMakePayments] && [response.products count]>0) {

    }

    for (SKProduct *book in Books) {
        NSLocale *locat=[NSLocale currentLocale];
        NSString *strlocate=[locat objectForKey:NSLocaleCountryCode];

        NSLog(@"\n\n\n Device country== %@ \n\n\n",strlocate);

        NSLocale* storeLocale = book.priceLocale;
        NSString *storeCountry = (NSString*)CFLocaleGetValue((CFLocaleRef)storeLocale, kCFLocaleCountryCode);
        NSLog(@"\n\n\n store country== %@ \n\n\n",storeCountry);
    }
}

Я хочу, чтобы мудрый, если уровень книги один, означает US $ 0,99 AUD 0,99 JPY 85 на основе таблицы матриц цены магазина приложений.

Я тестировал в симуляторе. Я изменил название страны в приложении iTunes, appstore и safari в системе. но я получаю только код страны в США.

Изменить: Настройки-> Общие-> Международные-> Формат региона-> страна

Я тестировал в устройстве: Страна устройства только изменилась. магазин страна указана код страны США и цена. Я хочу сохранить код страны до начала покупки в течение времени покупки.

сколько дней раз меняете цену на основе колебаний валютных курсов? он предоставляет любой api / запрос для колебания цены до известного / обновления?

моя операция inapp сделала один класс. Перед операцией inapp я хочу отобразить локальную цену, чтобы тот же эффект цены отражался в операции inapp.

Я показываю список книг, свободных и оплаченных книг, которые перечислены на моем сервере. в том, что я показываю цену за каждый элемент. эти цены товара при обработке AppStore он покажет цену в долларах. если appstore показал цену, как и я хочу показать. так что я хочу отправить код страны на свой сервер с того, что мой сервер отвечает, что прейскурант, связанный с страной, и символ валюты.


Answer #1

В Xcode 9 (я не проверял другую версию),

localizedPrice в SKProduct

Непосредственно используйте эту переменную-член в порядке, НИКАКОЙ ЛЮБОЙ КОНВЕРСИИ КОДА НЕОБХОДИМО !!

App Store ответит правильную локальную цену на ваше приложение, исходя из страны / региона App Store текущего пользователя. Как изменить:

https://apple.stackexchange.com/a/89186/283550

Я протестировал поведение, это правильно после того, как я сменил страну из Гонконга на Тайвань, я вижу, что уровень Tier 1 изменился с HK $ 8 до $ 30. (Доллар Гонконга до Тайваньского Доллара)


Answer #2

Здесь книга SKProduct:

NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setFormatterBehavior:NSNumberFormatterBehavior10_4];
[numberFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
[numberFormatter setLocale:book.priceLocale];
NSString *formattedPrice = [numberFormatter stringFromNumber:book.price];

NSLog(@"%@", formattedPrice);

просто спросите, если что-то непонятное!

С Уважением,


Answer #3

На устройстве в productsResponse вы получаете правильный продукт .price и product.priceLocale для учетной записи AppStore, вы в настоящее время вошли в систему. Поэтому, если вы используете этот язык для форматирования полученной цены, вы получите строки типа «0.99 $», «33,0 руб. «. и так далее.


Answer #4

Одна строка кода:

product - SKProduct объекта SKProduct :

NSString *price = [NSString stringWithFormat:@"%@%@ %@", [product.priceLocale objectForKey:NSLocaleCurrencySymbol], product.price, [product.priceLocale objectForKey:NSLocaleCurrencyCode]];

Результаты:

$ 1,39 USD


Answer #5
create macro first then use it
#define CURRENCY_SYMBOL [[NSLocale currentLocale] objectForKey:NSLocaleCurrencySymbol]

NSLog(@"%@ %.2f",CURRENCY_SYMBOL,25.50);




in-app-purchase