2013-12-24 1 views
1

Я в настоящее время делаю покупку InApp в приложении, в настоящее время я следую учебному курсу raywenderlich http://www.raywenderlich.com/21081/introduction-to-in-app-purchases-in-ios-6-tutorial, и до сих пор все работает хорошо. Теперь проблема в том, что я должен выполнить подсчет очков на основе продукта. Цена из нижеуказанной функции основана на долларах. В настоящее время это будет работать для учетной записи, основанной на американском рынке, но для других валют ниже в журнале «Моя точка» будет отображаться другое значение. В андроидах InApp купит api, они также возвращают микронаборы отдельно от цены, поэтому мы можем конвертировать в доллары с использованием микроузлов, мне было интересно, есть ли подобные вещи, которые возвращаются в iOS. Есть ли способ обхода проблемы?Как получить курс конвертации доллара при покупке InApp в iOS

- (void)productPurchased:(NSNotification *)notification { 

    SKPaymentTransaction *transaction=notification.object; 
    NSString * productIdentifier = transaction.payment.productIdentifier; 
    [products enumerateObjectsUsingBlock:^(SKProduct * product, NSUInteger idx, BOOL *stop) { 
     if ([product.productIdentifier isEqualToString:productIdentifier]) { 
      NSLog(@"Current Rate:%@",product.price); 
      NSlog(@"My Points:%f" [product.price floatValue]*myPointsFactor); 
     } 
    }]; 

} 
+0

вы можете использовать свойство pricelocale SKProduct. для получения местной валюты. –

ответ

0

вы можете использовать свойство SKProduct 'pricelocale'. для получения местной валюты.

- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response { 
    NSArray *myProduct = response.products; 
    SKProduct *product=myProduct.lastObject; 
    NSNumberFormatter *currencyFormatter = [[NSNumberFormatter alloc] init]; 

    [currencyFormatter setNumberStyle:NSNumberFormatterCurrencyStyle]; 
    [currencyFormatter setLocale:product.priceLocale];    
    [currencyFormatter stringFromNumber:product.price]; 
    } 
+2

Я не думаю, что Gamerlegend просит местную валюту, но спрашивает конкретно о валюте в долларах ... –

+0

Да, Линдинг Скотт прав. – Gamerlegend

0

проверить этот предыдущий ответ на получение валюты

Как уже упоминалось в комментариях эта услуга была закрыта в ноябре 2013 г.

Googles calulator API может сделать это;

Запрос:

http://www.google.com/ig/calculator?hl=en&q=100EUR=?USD Ответ:

{LHS: "100 евро", РИТЫ: "145.67 долларов США", ошибка: "", МАЯ: истинно} (Больше информации)

+0

Есть ли конкретный формат json для этого запроса? – Gamerlegend

+0

Да, но у вас нет большой идеи, но вот ссылка для вас https://www.google.com/finance/converter?a=16.6700&from=GYD&to=USD&meta=ei%3DqCe9UpCzCYqvkgX09gE – Retro

+0

@Gamerlegend, вы попробовали это? Это сработало? – locoboy