我在应用内购买时遇到问题。向服务器发送请求后,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测试购买。
在我的设备上,我从商店退出。
答案 0 :(得分:2)
如果[response invalidProductIdentifers]数组不为空,则表示您的产品无法下载,因此产品数量为空是正常的。请检查您的回复内容