我试图在免费应用程序中的应用程序购买中实现。SFProductsRequest总是返回零
我在iTunes连接入口中的应用程序购买管理器中创建了一个产品ID“test1”。
当我做以下列方式将产品的要求:
- (id)init {
NSSet *productIdentifiers = [NSSet setWithObjects:
@"test1",
nil];
if ((self = [self initWithProductIdentifiers:productIdentifiers])) {
}
return self;
}
- (id)initWithProductIdentifiers:(NSSet *)productIdentifiers
{
if ((self = [super init]))
{
// Store product identifiers
_productIdentifiers = [productIdentifiers retain];
// Check for previously purchased products
NSMutableSet * purchasedProducts = [NSMutableSet set];
for (NSString * productIdentifier in _productIdentifiers)
{
BOOL productPurchased = [[NSUserDefaults standardUserDefaults] boolForKey:productIdentifier];
if (productPurchased)
{
[purchasedProducts addObject:productIdentifier];
NSLog(@"Previously purchased: %@", productIdentifier);
}
NSLog(@"Not purchased: %@", productIdentifier);
}
self.purchasedProducts = purchasedProducts;
}
return self;
}
- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response {
NSLog(@"Received products results...");
self.products = response.products;
self.request = nil;
[[NSNotificationCenter defaultCenter] postNotificationName:kProductsLoadedNotification object:_products];
NSLog(@"%d",[self.products count]);
NSEnumerator *e = [self.products objectEnumerator];
id object;
while(object=[e nextObject])
{
NSLog(@"item");
NSLog(@"%s",(char*)object);
}
}
- (void)requestProducts {
self.request = [[[SKProductsRequest alloc] initWithProductIdentifiers:_productIdentifiers] autorelease];
_request.delegate = self;
[_request start];
}
答案总是0.我不明白我做错了什么。这段代码来自一个教程。有关应用程序购买的文档通常很混乱,iTunes中的整个流程并不能给我带来信心。
我认为应用程序需要在网上销售的应用程序购买工作。但是,我决定不包含在应用程序购买中,但让应用程序在iTunes购买连接审查。在审核过程中,该应用程序被拒绝,因为它应该与应用内购买进行测试。
但是,如果产品列表始终为零,我该如何测试应用程序购买?
如果有更多经验的人可以给我一个这方面的建议,因为我已经疯了!
感谢,
随着我的问候,
努诺
嗨!谢谢回复。但请描述你的经历。你需要什么产品列表?产品列表意味着应用内购买是由苹果商店评论组审核的? – 2012-02-17 15:56:48