使用Twitter初始失败解析登录

时间:2015-11-13 20:24:33

标签: ios objective-c twitter parse-platform login

目前我有一个Twitter登录,可以对用户进行正确的身份验证,并为确认完整登录所需的用户提供所有适当的信息。

然后我调用FullName方法以通过Parse对用户进行身份验证并在_User中填充新用户。 (我没有使用这种方法来呈现Twitter登录对话框,因为我无法让它呈现出来。)

这是奇怪的部分: 在我第一次启动应用程序时,我使用Twitter登录,然后调用logInWithBlock方法并收到以下错误:

[PFTwitterUtils logInWithBlock:...]

奇怪的是,如果我再次重新启动应用程序,则根本不会发生此问题。唯一的区别是,重新启动后,我相信我之前使用的Twitter帐户信息(通过浏览器而不是帐户)保存在设备上。当我再次启动应用程序时,我将其设置为重新加载上一个会话:这次Something went wrong: The operation couldn’t be completed. (NSURLErrorDomain error -1012.) 像魅力一样工作,创建新用户等,没有任何问题。

注意:我在Twitter应用程序的设置中将有效的URL保存为回拨URL。此外,我希望很明显,设置已正确完成,因为它在第二次登录时工作正常。

以下是我使用的登录代码:

[PFTwitterUtils logInWithBlock:...]

我已经没有耐心和想法为什么会发生这种情况。如果有人有任何想法,请告诉我 - 谢谢!

更新: 我注意到这似乎发生的原因是这样的: 我第一次尝试登录时没有PFUser,而第二次似乎有一个保存的// Login with Twitter through Parse [PFTwitterUtils logInWithBlock:^(PFUser *user, NSError *error) { if (error != nil) { // Something went wrong NSLog(@"Something went wrong: %@", [error localizedDescription]); breakLogin = YES; [self invalidateSignInTimer]; return; } else if (user.isNew){ userObjectID = user.objectId; [user saveInBackground]; NSLog(@"New User"); } else if (!user.isNew) { userObjectID = user.objectId; [user saveInBackground]; NSLog(@"Returning User. Welcome Back!"); } }]; ,它允许[PFUser currentUser]方法登录并创建新用户。

然而,我仍然不确定如何在没有手动创建新的PFUser然后使用Twitter登录的情况下第一次防止失败,然后是PFTwitterUtils ...

更新2 我已经用下面提供的答案解决了这个问题。我正在抛弃这种情况,因为我认为这可能有助于将来的其他人。

1 个答案:

答案 0 :(得分:0)

因此,经过无关的研究,我似乎找到了解决方案。

  • 首先,我通过从项目和库链接中删除所有引用来确保我的所有框架文件(SKD,标题等)都是最新的。

  • 第二,我确保所有的密钥和秘密都在我的版本中重新制作和更新 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

  • 最后,我仔细检查了我是否通过Parse的网站正确完成了Twitter authentication的设置。

我发现的是回拨网址中唯一的解决方案。

  • 在“设置”下的Twitter应用程序中指定回拨网址时,我必须取消选中锁定回拨网址选项,尽管Twitter推荐。 (见下文) enter image description here

我有点不高兴所有这些麻烦来自于如此平凡的事情,但我至少很高兴解决方案事实上解决了,而且太麻烦了。希望这个答案可以帮助那些在类似问题上挣扎的人。