iOS 7:续订凭证的完成是否针对帐户:完成:是否曾经在状态为AcAccountCredentialRenewResultReweed的情况下运行?

iOS 7:续订凭证的完成是否针对帐户:完成:是否曾经在状态为AcAccountCredentialRenewResultReweed的情况下运行?,ios,ios7,Ios,Ios7,ACAccountStore类有一个方法renewCredentialsForAccount:completion:,该方法将提示用户在设置应用程序中为其帐户输入新密码(请参见下面的屏幕截图)。如果用户点击Cancel,则调用完成块,并使用acAccountCredentialRenewalResultRecjected的RenewalResult 还有两个其他有效结果(显然?)从未调用此块:acAccountCredentialRenewalResultFailed和acAccountCred

ACAccountStore类有一个方法
renewCredentialsForAccount:completion:
,该方法将提示用户在设置应用程序中为其帐户输入新密码(请参见下面的屏幕截图)。如果用户点击Cancel,则调用完成块,并使用acAccountCredentialRenewalResultRecjected的RenewalResult

还有两个其他有效结果(显然?)从未调用此块:acAccountCredentialRenewalResultFailed和acAccountCredentialRenewalResultNewed。在AcAccountCredentialRenewResultReweed的情况下,应用程序应重新尝试帐户访问,因为(可能)用户已在设置应用程序中更新了密码

问题是,完成块从未以该状态调用。我看到一些示例代码表明,应该订阅ACAccountStoreDidChangeNotification通知,并在发生这种情况时调用
renewCredentialsForAccount:completion:
。这似乎也不对:如果用户点击该提示符中的设置按钮,则会发布该通知,因此此时调用
renewCredentialsForAccount:completion:
,会导致这种奇怪的交互:

  • 调用帐户的续订凭证:完成::向用户显示提示
  • 用户点击设置按钮
  • 设置应用程序已启动并发布通知,因此
  • renewCredentialsForAccount:completion:
    将再次调用,并再次显示“输入Twitter密码”提示,但会在设置应用程序上显示(这毫无意义)
  • 是否存在调用状态为AcAccountCredentialRenewResultReveed的完成处理程序的情况

    对于我的应用程序,如果答案是“否”就可以了,但如果真的发生了,我想确保我正确地处理了它。但是,由于我不能导致这种情况发生,因此我无法测试针对这种情况可能放入块中的任何代码