2015-01-12 4 views
0

У меня странное поведение с IAP (Песочница). Сначала я подумал, что ошибся, но потом загрузил другой проект (см. Изображения) с помощью IAP, и он показывает то же поведение. В моем приложении я предоставляю возможность купить обновление. Я нажимаю кнопку «Купить», появляется всплывающее предупреждение, в котором спрашивается, хочет ли пользователь купить обновление за 1,99 евро. Если пользователь этого хочет, начнется процесс покупки и появится всплывающее напоминание, которое является подтверждением покупки. Но это подтверждение показывает другую цену (€ 2,34). Кто-нибудь есть идея, почему это так?Цена SKProduct отличается в подтверждении In-App-Purchase

Заранее благодарен!

First alertview Second "confirmation" alertview

+1

Где вы получаете стоимость «Купить это за ...»? Вы спрашиваете SKProduct по локализованной цене или загружаете ли вы ее из какого-то другого источника, кроме Apple? –

+0

Я полагаю, что добавленная сумма учитывает НДС. –

+0

http://stackoverflow.com/q/27877516/2274694 –

ответ

0

Информация во втором всплывающем окне является правильным. И всплывающее окно, которое вы показываете сначала, имеет некорректную информацию. Цена 1,99 - это фактически цена в долларах США. И символ «€» должен быть объединен вами в строке.

Это происходит по двум причинам:

  1. Когда устройство не имеет идентификатор Apple не вошли в систему (для покупок в приложении). Поэтому SKProduct: price Недвижимость будет иметь цену в долларах США.
  2. Когда устройство зарегистрировано с идентификатором Apple, принадлежащим пользователю другой страны, кроме вашего. SKProductprice Недвижимость будет иметь цену этой страны.

Вы можете отформатировать строку, которая работает для каждой страны. Вот фрагмент кода, который создаст для вас такую ​​строку.

public extension SKProduct { 

    public var localizedPrice: String? { 
     let numberFormatter = NumberFormatter() 
     numberFormatter.locale = self.priceLocale 
     numberFormatter.numberStyle = .currency 
     return numberFormatter.string(from: self.price) 
    } 
} 

Вы можете использовать localizedPrice свойство теперь SKProduct объекта без написания себя €.

 Смежные вопросы

  • Нет связанных вопросов^_^