菜鸟教程小白 发表于 2022-12-12 18:26:53

ios - 发布后近一周内应用内购买仍然无法正常工作


                                            <p><p>在测试期间,应用内购买似乎运作良好,但在发布后就停止了。在我按下“升级”按钮后,它会询问我的密码,然后什么也没有。甚至没有错误消息。 </p>

<p>我浏览了 StackOverflow 一段时间,发现了这些问题:</p>

<p> <a href="https://stackoverflow.com/questions/5753162/in-app-purchase-does-not-work-when-live" rel="noreferrer noopener nofollow">In app purchase does not work when live</a> </p>

<p> <a href="https://stackoverflow.com/questions/7359625/in-app-purchase-not-working-after-it-has-been-approved" rel="noreferrer noopener nofollow">In App Purchase not working after it has been approved</a> </p>

<p>我以为我只需要等待,但没有人等待超过 48 小时。对我来说,发布后已经过去了 120 小时。所以我认为这可能与我的代码有关。</p>

<p>我的算法是基于 Ray Wenderlich 的教程
<a href="http://www.raywenderlich.com/21081/introduction-to-in-app-purchases-in-ios-6-tutorial" rel="noreferrer noopener nofollow">http://www.raywenderlich.com/21081/introduction-to-in-app-purchases-in-ios-6-tutorial</a> </p>

<p>首先,在 `applicationDidFinishLaunchingWithOptions: 在我的应用委托(delegate)中</p>

<pre><code>// In app
; //initialize singleton
[ tryLoadingProduct]; //my method to load SKProduct
//SKProduct is stored as a @property in the singleton
</code></pre>

<p>稍后,在升级 ViewController 中,我检查,如果它没有加载产品,则再次执行 <code>tryloadingProduct</code>。</p>

<p>单例初始化的经典方式:</p>

<pre><code>+ (myGuideIAP *)sharedInstance {
    static dispatch_once_t once;
    static myGuideIAP * sharedInstance;
    dispatch_once(&amp;once, ^{
      NSSet * productIdentifiers = [NSSet setWithObjects:
                                    @&#34;com.mkochukov.myguidemind.proupgrade&#34;,
                                    nil];
      sharedInstance = [ initWithProductIdentifiers:productIdentifiers];
    });
    return sharedInstance;
}
</code></pre>

<p>这是 <code>tryLoadingProduct</code> 方法内部的内容:</p>

<pre><code>- (void)tryLoadingProduct
{
    [ requestProductsWithCompletionHandler:^(BOOL success, NSArray *products)
   {
      if (success) {
            if (products.count &gt; 0)
                _mProduct = products;

      }
    }];
}
</code></pre>

<p>当用户尝试购买时,会出现一个警告 View ,要求购买或恢复。就是这样处理的</p>

<pre><code>-(void)alertView:(UIAlertView *)alertView willDismissWithButtonIndex:(NSInteger)buttonIndex
{
    if (buttonIndex == alertView.cancelButtonIndex)
      return;
    if (buttonIndex == 0) {
         [ buyProduct:.mProduct];
    }else if (buttonIndex == 1){
      [restoreCompletedTransactions];
    }
}
</code></pre>

<p>然后,当用户点击“购买”按钮时,它会执行:</p>

<pre><code>- (void)buyProduct:(SKProduct *)product {

    NSLog(@&#34;Buying %@...&#34;, product.productIdentifier);

    SKPayment * payment = ;
    [ addPayment:payment];

}
</code></pre></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>听起来像是权利问题,请确保已设置。</p>

<p> <img src="/image/ebjfz.jpg" alt="enter image description here"/> </p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 发布后近一周内应用内购买仍然无法正常工作,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/21509564/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/21509564/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 发布后近一周内应用内购买仍然无法正常工作