私はinaAppPurchasesを実行しようとしており、次のコードを使用しています
NSSet *myProductIdentifiers = [NSSet setWithObjects:
@"inapppurchase.first",
@"inapppurchase.second",
@"inapppurchase.third",
@"inapppurchase.fourth",
@"inapppurchase.fifth",
@"inapppurchase.sixth",
nil];
if ((self = [super initWithProductIdentifiers:myProductIdentifiers]))
{
}
return self;
///////////////////////////////////
- (id)initWithProductIdentifiers:(NSSet *)identifiers
{
if ((self = [super init]))
{
}
self.productIdentifiers = identifiers;
return self;
}
- (void)requestProducts
{
self.request = [[SKProductsRequest alloc] initWithProductIdentifiers:productIdentifiers];
request.delegate = self;
[request start];
}
- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response
{
self.products = response.products;
SKProduct *product = [self.products objectAtIndex:0];
NSLog(@"%@", product.price);
self.request = nil;
}
問題は、呼び出しrequestProducts
てからデリゲート関数 - (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response
を呼び出すと、製品の順序がNSSet値と異なることです。
私のself.productsの順序は、5番目、1番目、2番目、4番目、6番目、3番目です。何故ですか?なぜそれは適切な順序ではないのですか?