iOS Twitter NSURLErrorDomain代码= -1012

时间:2013-01-16 16:06:24

标签: ios twitter nsurlrequest nsurlerrordomain

我正在尝试通过在我的应用中使用Twitter进行搜索来获取用户的联系详细信息。我在github上找到了this项目,看起来非常好。我只遇到一个问题。如果我使用来自Twitter的新应用消费者密钥和消费者密钥代码运行它会给我一个错误:

Error Domain=NSURLErrorDomain Code=-1012 "The operation couldn’t be completed. (NSURLErrorDomain error -1012.)" UserInfo=0x6898e80 {NSErrorFailingURLKey=https://api.twitter.com/oauth/request_token, NSErrorFailingURLStringKey=https://api.twitter.com/oauth/request_token, NSUnderlyingError=0x68980e0 "The operation couldn’t be completed. (kCFErrorDomainCFNetwork error -1012.)"}

控制台中的输出是:

2013-01-16 17:55:24.367 DMTwitterOAuth[3411:c07] current status = Prompt for user data and request token to server
2013-01-16 17:55:24.371 DMTwitterOAuth[3411:c07] current status = Requesting token for current user's auth data...
2013-01-16 17:55:25.433 DMTwitterOAuth[3411:c07] current status = Token received from server

在我收到警告视图后,它立即发现它遇到了NSURLErrorDomain

另一方面,如果我使用其他Twitter应用程序中的其他代码运行它,它可以工作,向我提供有关用户的所有详细信息。我只是无法理解为什么它可以使用某些键,而对于其他一些键却没有。

6 个答案:

答案 0 :(得分:6)

错误代码-1012kCFURLErrorUserCancelledAuthentication。这应该意味着某些代码称为[sender cancelAuthenticationChallenge:],以响应身份验证质询。这可能是DMTwitterOAuth中的代码,但也可能是它在URL加载系统中的Apple自己的代码。

答案 1 :(得分:1)

确保您的Twitter application access settings适合您要执行的操作。如果您尝试发布推文,则可能需要读取和写入权限。

有关详细信息,请参阅Application Model docs

答案 2 :(得分:1)

请求标头中的身份验证数据也可能是错误的。

答案 3 :(得分:0)

访问下面的网址,它解决了这个问题,一般不是针对这个推特上下文的问题。它会给你一些想法

https://stackoverflow.com/a/17920301/730807

我希望这有帮助..

答案 4 :(得分:0)

我最近发现此问题发生在之前Twitter登录正在运行的项目中。出于这个原因,我认为这是由于iOS的变化或Twitter功能的升级。

其中一个主要问题是几乎不可能重现这个问题,有一个非常有趣的推特社区博客在这里谈论它:https://twittercommunity.com/t/ios-twitter-kit-1-10-1-twtrloginbutton-responds-with-1012-error/52766

Twitter工作人员正在尝试修复此问题,但无法重新创建它以查看出现了什么问题。

问题似乎是用户Twitter帐户已与其设备断开连接。这意味着Twitter Auth Helper无法正确登录您的详细信息。

解决此问题的方法是进入设置 - > Twitter然后点击您的Twitter帐户名称。对我而言,这促使我重新输入我的密码,因为该帐户当前未连接。非常令人沮丧且难以找到,因为在您点击您的Twitter帐户之前没有任何迹象。

我尝试使用Firebase使用Twitter帐户登录时应用此解决方案。

答案 5 :(得分:0)

根据推特,SDK版本1.14.1中的the fix is live