我第一次尝试购买应用。我的问题是,为什么我没有可用的产品?
我之前已经看过这个问题,或者没有答案或者答案引用了错误的链接。
我在iTunes上配置了产品包ID。 我为该应用配置了应用内购买。
在我的代码中我做了:
productsRequest = [[SKProductsRequest alloc] initWithProductIdentifiers:productidentifiers];
productsRequest.delegate = self;
[productsRequest start] ;
我用应用程序购买中的捆绑ID来调用它(我也尝试过应用程序ID)。
此委托函数被调用
- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response
但产品是一个空数组。
这不会被调用:
- (void)request:(SKRequest *)request didFailWithError:(NSError *)error
这样做:
- (void)requestDidFinish:(SKRequest *)request
我需要检查什么才能获得产品?
答案 0 :(得分:0)
您必须使用真实设备,并且还必须在iTunes Connect中设置测试帐户。
答案 1 :(得分:0)
您应该使用IAP产品ID而不是app id(或捆绑ID)。 IAP产品ID由itune connect创建。 “产品是一个空阵列。”意味着你从itunes商店请求的这个id(无论你使用什么)都不存在。 这是我的工作代码:
#define ProductID_IAPUNLOCKALL @"unlockall.myapp"
NSArray *product=[[NSArray alloc] initWithObjects:ProductID_IAPUNLOCKALL,nil];
NSSet *nsset = [NSSet setWithArray:product];
SKProductsRequest *request=[[SKProductsRequest alloc] initWithProductIdentifiers: nsset];
request.delegate=self;
[request start];