gpt4 book ai didi

ios - SKProduct localizedTitle 总是英文

转载 作者:可可西里 更新时间:2023-11-01 03:32:49 26 4
gpt4 key购买 nike

我正在使用 Xcode v7.2 和 Obj-c。我正在向现有的 iOS 应用程序添加不同的语言。主要问题是 SKProduct localizedTitle(iTC 上的显示名称)总是以英文返回。 我可以显示经过适当本地化和格式设置的价格。我已经在 SO 上准备了许多类似的问题并尝试了他们的解决方案,但它似乎对我不起作用(例如: thisthis )。

期望的结果:

  1. 向用户显示 3 个按钮;每个按钮都有不同的标题和价格。
  2. 通过仅在 iTC 中更新来动态更改 IAP 的显示名称和价格(这样我就不必在每次需要更改时都更新代码)。
  3. 由于 #2,我无法在按钮上硬编码 IAP 名称或价格。
  4. 从 iTC 中提取本地化标题(在 iTC 上显示名称)和价格,用作按钮上的文本标签。

这是我已经设置好的:

  • 在 iTC 上创建测试用户并为他们分配不同的商店: iTC test users and stores
  • 在 iTC 上设置 IAP 并添加语言和显示名称: iTC IAP list with languages
  • 从 iTC 获取 SKProduct localizedTitle 和价格的代码

    [[FirstDrawIAPHelper sharedInstance] requestProductsWithCompletionHandler:^(BOOL success, NSArray *products) {
    if (success) {
    storeProducts = products;
    SKProduct *product = (SKProduct *)storeProducts;
    //Format price
    priceFormatter = [[NSNumberFormatter alloc] init];
    [priceFormatter setFormatterBehavior:NSNumberFormatterBehavior10_4];
    [priceFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];

    //Iterate thru the buttons using tipButton Outlet Collection
    for (int i = 0; i < [self.tipButton count]; i++) {
    UIButton *button = [[UIButton alloc] init];
    button = self.tipButton[i];
    //product = storeProducts[i];
    product = products[i];
    //Set the price locale
    [priceFormatter setLocale:product.priceLocale];
    //Localize the button title and append the price
    NSString *btnTxt = [product.localizedTitle stringByAppendingString:@" "];
    NSString *price = [priceFormatter stringFromNumber:product.price];
    NSString *newBtn = [btnTxt stringByAppendingString:price];
    NSLog(@"\nID: %@, Price: %@, Button: %@",[product localizedTitle], price, btnTxt);
    //Set button title
    [button setTitle:newBtn forState:UIControlStateNormal];

    }

    }
  • 创建新的 Xcode 方案,以便将测试设备的LanguageLocationRegion 设置为所需的国家/地区

  • 在 Xcode 模拟器上退出 App Store(从设置)。在模拟器中运行测试时,我最初会以正确的语言看到我的应用程序,但按钮上的文本是英文的。这是因为我还没有更改 App Store 位置。我点击 IAP 购买按钮,它提示我登录。
  • 我使用该国家/地区的测试用户登录。我停止该应用程序,然后再次运行它。

结果:我正确地看到了该国家/地区的 IAP 价格,但我没有看到正确本地化的按钮标题。按钮的标题仍然是英文。我设置的每种语言都会出现这种情况。

任何人都可以发现我在这里做错了什么吗?我是否错误地假设 SKProduct.localizedTitle 不返回该语言(App Store)的 iTC 显示名称?任何帮助将不胜感激,谢谢。

最佳答案

基于 In-App Purchase FAQ

localizedDescription and localizedTitle return localized information whose language is based on the current iTunes Store rather than the current device language setting.

关于ios - SKProduct localizedTitle 总是英文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34483032/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com