IAP 是否总是在相同的有序列表中返回?

Are IAP always returned in the same ordered list?

我正在为我的应用程序中的店面编写自定义 UIView。大多数教程展示了某种 UITableView 来显示苹果 In-App 购买的结果。

我没有使用表格来显示我的购买按钮,而是布置了一个我希望按钮显示在其中的视图。

我的问题是:产品 X 会一直排在 return 列表中的第 n 位吗?例如,一份 5 包的鱼食在 returned 列表中总是排在第 6 位,而 10 包的鱼食总是排在第 7 位?这样我就可以在屏幕上的布局中放置一个按钮,而且我知道如果用户按下该按钮,将购买正确的 in-app。

我一直在用这个tutorial作为参考。但是我好像找不到定制店面的教程。

我编写了这些辅助方法来从数组中提取数据。

- (NSString* ) getProductNameForObjectAtIndex:(int)index {
    SKProduct * product = (SKProduct *) _products[index];
    return product.localizedTitle;
}

- (NSDecimalNumber* ) getPriceForObjectAtIndex:(int)index {
    SKProduct * product = (SKProduct *) _products[index];
    return product.price;
}

然后我的按钮从

获得它们的标题(价格)
[button setTitle:[self getPriceForObjectAtIndex:5]];

将索引硬编码到按钮中。

想法?

没有。不要指望任何特定订单中的产品。根据 productIdentifier 做出决定,而不是它在数组中的位置。

除了当您从 Apple 获得列表时产品以任何顺序返回,位置可能会随着您添加、删除或更改产品而改变。