2013-12-13 4 views
0

Я столкнулся с какой-то странной проблемой при тестировании своего приложения в песочнице iTunes App Store для iOS. У меня есть две тестовые учетные записи разработчика (настроенные через iTunes Connect) - один набор для использования в магазине в Великобритании, другой - для использования в украинском магазине.iOS: App Store Песочница, возвращающая неправильную валюту для пользователей-тестировщиков

Когда приложение запускается, он получает список доступных элементов IAP через SKProductsRequest. Затем он отображает цену товара, используя следующий код (он был реализован как категория SKProduct, поэтому «я» относится к экземпляру SKProduct):

NSNumberFormatter *currencyFormatter = [[[NSNumberFormatter alloc] init] autorelease]; 
    [currencyFormatter setFormatterBehavior:NSNumberFormatterBehavior10_4]; 
    [currencyFormatter setNumberStyle:NSNumberFormatterCurrencyStyle]; 
    [currencyFormatter setLocale:self.priceLocale]; 
    return [currencyFormatter stringFromNumber:self.price]; 

Насколько мне известно, это в значительной степени Рекомендуемый код Apple для этой задачи. И когда я использую аккаунт в Великобритании для проверки своих покупок в приложении, все работает нормально, цена отображается в фунтах. Однако, когда я использую украинский тестовый счет, цена отображается в долларах США, а не в украинской гривне.

Глядя на это немного дальше, я пытался печатать некоторые из priceLocale свойств в консоли отладки, следующим образом:

NSLog(@"PriceLocale country Code: %@, localeIdentifier %@", , [self.priceLocale objectForKey:NSLocaleCountryCode], [self.priceLocale localeIdentifier]); 

Выход из которого был:

PriceLocale country Code: UA, localIdentifier [email protected]=USD 

Читая по идентификаторам локали, кажется, что символ @ используется для изменения локали для переопределения определенных параметров, в этом случае, похоже, что валюта установлена ​​в долларах США. Дело в том, что я не могу понять, почему. Может ли кто-нибудь предложить какие-либо советы о том, что может быть проблемой, или как я могу заглянуть в нее дальше?

ответ

2

Ваш код в порядке, однако в настоящее время невозможно приобрести товары в App Store в украинской гривне. Магазин приложений в Украине и многие другие страны работают в долларах США. См. Приведенную ниже ссылку для полного списка магазинов, в которых используется доллар США.

App Stores where the US Dollar is the currency of sale

+0

Я должен был на самом деле прийти и ознаменовал ответ, как решить, как это то, что я в конце концов обнаружил, - это полезная ссылка, хотя, ура! – eggboxderek

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