2010-08-22 23 views
0

我越来越下降到最后的节目上我的小应用程序,我现在用的是标准StoreKit代码如下:SDK StoreKit警告

- (void) paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions { 
for (SKPaymentTransaction *transaction in transactions) 
{ 
    switch (transaction.transactionState) 
    { 
     case SKPaymentTransactionStatePurchased: 
      [ self completeTransaction: transaction ];    
     break; 
     case SKPaymentTransactionStateFailed: 
      [ self failedTransaction: transaction ]; 
      break; 
     case SKPaymentTransactionStateRestored: 
      [ self restoreTransaction: transaction ]; 
      break; 
     default:     
      break; 
     }  
    } 
} 

我得到一个MyStoreObserver可能不completeTransaction,failedTransaction或restoreTransaction响应。顺便说一句,我已经建立了MyStoreObserver作为h和m文件。

该程序工作正常,StoreKit工作正常。我只是想弄清楚什么可能导致这个警告,所以我可以让我的代码让它消失。

任何想法?

+0

你是否在MyStoreObserver头文件中声明了这些方法? – Vladimir 2010-08-22 22:54:25

回答

1

在.h文件或者.m文件中的私有类别中声明这些方法,以便编译器知道它们。或者将它们移到.m文件中,以便在调用它们之前显示它们。

+0

或者在类继续(实际上是一个没有名字的类)中,所以编译器实际上检查它们是否被实现。 – 2010-08-23 02:31:58

0

谢谢弗拉德和英子...

对于新手,这里是我的代码,摆脱了我的MyStoreObserver .h文件的警告..

@interface MyStoreObserver : NSObject <SKPaymentTransactionObserver> 

{ 
} 

- (void) completeTransaction:(SKPaymentTransaction *)transaction; 
- (void) failedTransaction: (SKPaymentTransaction *)transaction; 
- (void) restoreTransaction: (SKPaymentTransaction *)transaction; 

@end 

此外,该代码使用代码“In App Purchase Programming Guide”中包含的代码。