0

我正在对我的小应用程序进行最后一次编程,我正在使用标准 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 运行良好。我只是想弄清楚可能导致此警告的原因,以便我可以对我的代码进行一些处理以使其消失。

有任何想法吗?

4

2 回答 2

1

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

于 2010-08-22T22:56:49.657 回答
0

谢谢弗拉德和 Eiko...

对于新手,这是我的代码,它消除了 MyStoreObserver h 文件中的警告。

@interface MyStoreObserver : NSObject <SKPaymentTransactionObserver>

{   
}

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

@end

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

于 2010-08-23T07:23:10.070 回答