我在测试In App Purchase功能时遇到问题。如果我在已安装了以前版本的应用的设备上重新安装应用,则SKProductsRequest仅返回invalidProductIdentifiers上的对象的响应。如果我从设备上删除应用程序,然后再次安装新版本,SKProductsRequest可以正常工作。应用程序购买的SKProductsRequest在设备上已安装应用程序时不起作用
任何想法?
在此先感谢。
- (void)requestProductData:(NSString *)aFeatureID {
SLLog(@"Products Request For: %@", aFeatureID);
SKProductsRequest *request = [[SKProductsRequest alloc] initWithProductIdentifiers:[NSSet setWithObject:aFeatureID]];
request.delegate = self;
[request start];
}
- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response
{
if ([response.products count] > 0) {
[self.purchasableObjects addObjectsFromArray:response.products];
#ifndef NDEBUG
for(int i=0;i<[self.purchasableObjects count];i++)
{
SKProduct *product = [self.purchasableObjects objectAtIndex:i];
SLLog(@"Feature: %@, Cost: %f, ID: %@",[product localizedTitle],
[[product price] doubleValue], [product productIdentifier]);
}
for(NSString *invalidProduct in response.invalidProductIdentifiers)
SLLog(@"Problem in iTunes connect configuration for product: %@", invalidProduct);
#endif
isProductsAvailable = YES;
} else if ([response.invalidProductIdentifiers count] > 0){
SLLog(@"MKStoreManager-productsRequest empty results: %@", [response.invalidProductIdentifiers objectAtIndex:0]);
}
if([_delegate respondsToSelector:@selector(productFetchComplete)])
[_delegate productFetchComplete];
[request autorelease];
}
似乎有人有同样的问题。如果我的描述不够清楚,请仔细阅读。 http://lists.apple.com/archives/cocoa-dev/2011/Mar/msg00349.html – mikywan 2011-03-29 20:51:42