菜鸟教程小白 发表于 2022-12-12 11:05:33

iOS 应用程序每次启动时都会要求输入密码


                                            <p><p>我正在我的设备上测试一个新应用,今天,我开始集成 StoreKit 以进行应用内购买。</p>

<p>问题是每次我启动应用程序时,它都会询问我的沙盒帐户密码。在下文中,您将找到有关该问题的一些详细信息。</p>

<ol>
<li>我第一次启动该应用时,一切正常。完成应用内购买时没有问题(使用我的沙盒用户 - 我们称之为 [email protected] -)。</li>
<li>停止应用,集成了“恢复购买”按钮。不幸的是,我忘记在完成时添加“finishTransaction”(不确定这是否是问题所在)。</li>
<li>从现在开始,每次我启动应用程序时,它都会不断要求我输入 [email protected] 的密码。</li>
</ol>

<p>StoreKit 开始在不是 rootView 的 View 中执行它的工作,所以我排除了我以编程方式转换错误...</p>

<p>那么,我后来做了什么?</p>

<ol>
<li>从设备中删除应用并重新安装(重启后)</li>
<li>已删除沙盒用户(并创建了一个新用户 - 比如说 [email protected] -)。我成功使用了新帐户以获得新的 IAP。</li>
<li>清除我设备上的设置</li>
<li>从 iTunes Connect 中删除 IAP</li>
</ol>

<p>问题仍然存在。请记住,要求的密码是 [email protected](第一个测试帐户!)</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><blockquote>
<p>Stopped the app, integrated a button &#34;Restore purchases&#34;. Unfortunately, I forgot to add &#34;finishTransaction&#34; at completition (not sure if this could be the problem)</p>
</blockquote>

<p>确实是这个问题! </p>

<p>Store Kit 将始终要求您重新验证队列中是否还有交易。要摆脱这些事务,只需调用:</p>

<pre><code>for transaction in SKPaymentQueue.defaultQueue().transactions {
    SKPaymentQueue.defaultQueue().finishTransaction(transaction)
}
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于iOS 应用程序每次启动时都会要求输入密码,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/36957038/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/36957038/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: iOS 应用程序每次启动时都会要求输入密码