StoreKit委托函数未被调用

时间:2011-10-30 13:39:16

标签: iphone storekit

我想得到你们的帮助。我已经在我的iPhone / iPad应用程序中实现了storekit代码,我正在使用iOS 3.2在iPad 1上测试应用程序。

我尝试在执行所有步骤后测试应用程序,例如在iTunes连接中为应用程序添加产品,并使用配置文件在iPad上运行该应用程序,但是当我运行应用程序时,Storekit委托函数永远不会被调用给出任何错误,它永远不会崩溃。我无法弄清楚问题是什么。

请帮我解决这个问题。

以下是我使用的代码

- (void) requestProductData
{

    SKProductsRequest *request= [[SKProductsRequest alloc]
    initWithProductIdentifiers: [NSSet setWithObject:@"myproductid"]];


    request.delegate = self;           
    [request start];
}
- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:
(SKProductsResponse *)response
{
    NSArray *myProduct = response.products;
    // populate UI
    [request autorelease];
}

- (void) request:(SKRequest *)request didFailWithError:(NSError *)error {
    NSString *errorMessage = [error localizedDescription]; 
    NSLog(@"%@",errorMessage);
}

- (void)requestDidFinish:(SKRequest *)request{
    NSLog(@"%@",@"inside request finish");
}

我调用requestProductData但没有调用委托函数。

提前非常感谢!

1 个答案:

答案 0 :(得分:1)

我觉得这有点晚了,你现在就解决了,但是我想解决另一个问题,遇到了你的问题,并想知道你的接口文件中是否有代表。

#import <UIKit/UIKit.h>
#import <StoreKit/StoreKit.h>

@interface ViewController : UIViewController<SKProductsRequestDelegate, SKRequestDelegate, SKPaymentTransactionObserver>

@end

我怀疑你确实拥有上面的代码并且正如所说的解决它,但以防万一其他人有同样的问题并忘记将代表包含在h文件中。