我对应用内购买有疑问。向服务器发送请求后,没有返回任何产品SKProductsRequest
。
我这样发送请求:
NSMutableSet *identificators = [[NSMutableSet alloc] init];
[identificators addObject:kInAppPurchaseOneWeekIdentifier];
[identificators addObject:kInAppPurchaseOneMonthIdentifier];
[identificators addObject:kInAppPurchaseSixMonthsIdentifier];
SKProductsRequest *request = [[SKProductsRequest alloc] initWithProductIdentifiers:identificators];
request.delegate = self;
[request start];
[identificators release];
在 Consts.h 我有那些
// In App Purchase
#define kInAppPurchaseOneWeekIdentifier @"com.astroboxapp.iap.OneWeek"
#define kInAppPurchaseOneMonthIdentifier @"com.astroboxapp.iap.OneMonth"
#define kInAppPurchaseSixMonthsIdentifier @"com.astroboxapp.iap.SixMonths"
在我的课堂上我已经实现了
-(void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response {
if ( [response.products count] > 0 ) {
// i've do my stuff - show the IAP to the user
} else {
// here goes the error handling
}
}
在我的情况下[response.products count]
是空数组/字典,所以我抛出一个错误。
编辑:我做了什么?
我创建了一个新的 IAP 并将它们与我的应用程序相关联,我也更改了产品 ID 并在我的 Consts.h 中更改它们
我试图以某种方式将应用程序版本从 1.0 更改为 1.1,这有助于我更改此版本的 IAP。
仍然无法在我的设备上运行,而在模拟器中有我的 IAP 条目但我可以测试 - 因为 StoreKit 不允许测试从 sumulator 购买。
在我的设备上,我正在从商店注销。