在啃了不少文档之后, 内购的东西终于理顺了, 也理清楚了, 可以搞UI了, 因为app不仅在国内用, 还要在国外用, 所以根据国家不同显示不同的货币符号和对应的价格就很有必要了(例如 $0.99, ¥666). SKProductsRequest中始终返回的是中文, 包括localizedTitle,localizedDescription等都是, 修改系统语言, 修改系统区域, nothing happened, 还是原来那个样子, 看SKProduct文档, 看NSLocale文档, 还是没有关于这个问题的描述…
想一遍流程, 想起来添加测试(沙盒测试员)账号的时候有一个国家选项, 试试呗, 然后添加了一个选择了美国国籍的测试账号, 登上测试机, 返回正确, 就是美国对应的描述. 所以SKProductsRequest返回的数据是根据测试账号所在地区决定的.
最后苹果官方推荐的方法, 价格可以直接转换为对应加上货币符号的字符串(0.99 -> $0.99):
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setFormatterBehavior:NSNumberFormatterBehavior10_4];
[numberFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
[numberFormatter setLocale:pro.priceLocale];
NSString *formattedString = [numberFormatter stringFromNumber:pro.price];