我目前正在应用中购买InApp,目前我正在关注raywenderlich教程http://www.raywenderlich.com/21081/introduction-to-in-app-purchases-in-ios-6-tutorial,到目前为止,每个人都运作良好。现在的问题是我需要根据product.price从以下函数中进行基于美元的积分计算。目前,这将适用于基于美国市场的帐户,但对于其他货币,我的点的以下日志将显示不同的值。在机器人InApp购买api他们还返回价格以外的microunits所以我们可以使用该microunits转换成美元,我想知道是否有类似的东西在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 :(得分:0)
您可以使用pricelocale
的“SKProduct
”属性。获取区域货币。
- (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];
}
答案 1 :(得分:0)
查看以前获得货币的答案
正如评论中提到的,该服务于2013年11月关闭。
Googles calulator API可以做到这一点;
请求:
http://www.google.com/ig/calculator?hl=en&q=100EUR=?USD 响应:
{lhs:“100欧元”,rhs:“145.67美元”,错误:“”,icc:true} (更多信息)