我有一个iOS Swift项目,该项目使用与Cocoapods一起安装的AWSMobileClient SDK(v2.9.9)。
应用中经常使用一种有问题的方法:
AWSMobileClient.sharedInstance().getAWSCredentials { (credentials, error) in ... }
,并且发生一个特定的致命错误:
在另一个线程中获取标识ID失败或未完成 5秒之内。
在某些设备上,它可以在90%的时间内正常工作,并且通常仅在一系列步骤之后才会发生-例如登录,注销,然后再次登录(登录后会调用该方法)。
但是,最近在我正在测试的新设备上,每次出现。
还有一个堆栈问题here,这表明在调用getAWSCredentials
时可能会并行运行另一个AWS开发工具包操作-但是在检查完我的代码后,我确定情况并非如此
我还尝试在发生故障的设备上运行此方法,以查看是否可以提供任何线索:
AWSMobileClient.sharedInstance().getIdentityId().continueWith { task -> Any? in ... }
并返回此错误:
在另一个线程上获取标识ID失败。请致电重试
getIdentityId()
方法。
我已经花了几个小时仔细研究自己的代码和导致错误的堆栈跟踪,并陷入了如何解决甚至进一步调试的死路。
希望有人能够提出一些帮助我的建议-谢谢! :)