代码如下 - 这段代码昨天正在提供无效ID现在更长的工作,我已经代码大约10次
的.m
#import <UIKit/UIKit.h>
#import <StoreKit/StoreKit.h>
@interface InAppViewController : UIViewController <SKProductsRequestDelegate, SKPaymentTransactionObserver> {
SKProduct *proUpgradeProduct;
SKProductsRequest *productsRequest;
}
·H
#import "InAppViewController.h"
@implementation InAppViewController
- (void)viewDidLoad{
[self requestProUpgradeProductData];
}
- (void)dealloc {
[super dealloc];
}
- (void)requestProUpgradeProductData
{
NSLog(@"called productsRequest");
NSSet *productIdentifiers = [NSSet setWithObject:@"com.okz8.investor.gem15" ];
productsRequest = [[SKProductsRequest alloc] initWithProductIdentifiers:productIdentifiers];
productsRequest.delegate = self;
[productsRequest start];
// we will release the request object in the delegate callback
}
#pragma mark -
#pragma mark SKProductsRequestDelegate methods
- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response
{
NSArray *products = response.products;
proUpgradeProduct = [products count] == 1 ? [[products firstObject] retain] : nil;
if (proUpgradeProduct)
{
NSLog(@"Product title: %@" , proUpgradeProduct.localizedTitle);
NSLog(@"Product description: %@" , proUpgradeProduct.localizedDescription);
NSLog(@"Product price: %@" , proUpgradeProduct.price);
NSLog(@"Product id: %@" , proUpgradeProduct.productIdentifier);
}
for (NSString *invalidProductId in response.invalidProductIdentifiers)
{
NSLog(@"Invalid product id: %@" , invalidProductId);
}
// finally release the reqest we alloc/init’ed in requestProUpgradeProductData
[productsRequest release];
//[[NSNotificationCenter defaultCenter] postNotificationName:kInAppPurchaseManagerProductsFetchedNotification object:self userInfo:nil];
}
这只是不回复我已经完成的所有http://troybrant.net/blog/2010/01/invalid-product-ids/
现在收到无效ID我没有得到任何东西
答案 0 :(得分:6)
根据user178379响应,尝试实现此方法:
- (void)request:(SKRequest *)request didFailWithError:(NSError *)error {
NSLog(@"request - didFailWithError: %@", [[error userInfo] objectForKey:@"NSLocalizedDescription"]);
}
我的问题是:Cannot connect to iTunes Store
,用于:
StoreKit (In-App purchases) will not work in the Simulator. 13962338
答案 1 :(得分:5)
遇到同样的问题并在此处找到解决方案: productsRequest response method is not calling
由于自动引用计数,我的请求立即被删除...
答案 2 :(得分:0)
顺便说一下,在这种情况下,当构造SKProductsRequest
期间传递的产品标识符集合为空时,SKProductsRequestDelegate
委托函数都不会被调用。< / p>