我試圖在免費應用程序中的應用程序購買中實現。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