【问题标题】:In App Purchase Problem - Where Am I Going Wrong ? iPhone在应用程序购买问题 - 我哪里错了?苹果手机
【发布时间】:2011-03-28 10:12:59
【问题描述】:

我正在尝试测试我的应用内购买(在沙盒中)并遇到以下问题:

  • 应用成功检索到可用产品并将其显示在表格中。
  • 用户点击“购买”
  • 要求用户输入用户名和密码(这是我的测试用户)。
  • 屏幕上显示交易成功的确认信息。

问题是内容没有下载,并且似乎没有调用以下方法:

- (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];
            default:
                break;
        }
    }
}

谁能帮忙?

【问题讨论】:

    标签: iphone objective-c sdk xcode4 in-app-purchase


    【解决方案1】:

    检查是否添加了事务观察器

    [[SKPaymentQueue defaultQueue]addTransactionObserver:mObserverObject];
    

    其中 mObserverObject 是您实现了 updatedTransactions 方法的类的对象。

    【讨论】:

    • 嗨钱丹。谢谢你的帮助。我已经将此代码放在带有选项的didfinishlaunching的应用程序委托中-这是问题吗?//在文件顶部#import“InAppHelper.h”//在应用程序中:didFinishLaunchingWithOptions [[SKPaymentQueue defaultQueue] addTransactionObserver:[InAppHelper sharedHelper]] ;
    • 我不这么认为...你确定 [InAppHelper sharedHelper] 正在返回正确的对象吗?
    • 我想是的。这是一种单例方法。静态 InAppHelper * _sharedHelper; + (InAppHelper *) sharedHelper { if (_sharedHelper != nil) { return _sharedHelper; } _sharedHelper = [[InAppHelper alloc] init];返回 _sharedHelper;
    • 我认为这是我的 viewdidloadwithoptions 的问题 - 我稍后会检查 - 谢谢。
    • 陈丹。一切顺利 - 感谢您的帮助 - 像您这样的人使这个网站成为了一个很棒的网站。问题是我在应用程序委托中的 viewdidloadwithoptions 被跳过,因为我的主窗口 nib 中拥有的文件链接不正确。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-15
    • 2018-07-10
    • 2013-07-13
    • 1970-01-01
    相关资源
    最近更新 更多