目前我有一个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 我已经用下面提供的答案解决了这个问题。我正在抛弃这种情况,因为我认为这可能有助于将来的其他人。
答案 0 :(得分:0)
因此,经过无关的研究,我似乎找到了解决方案。
首先,我通过从项目和库链接中删除所有引用来确保我的所有框架文件(SKD,标题等)都是最新的。
第二,我确保所有的密钥和秘密都在我的版本中重新制作和更新
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
Twitter authentication
的设置。但我发现的是回拨网址中唯一的解决方案。
我有点不高兴所有这些麻烦来自于如此平凡的事情,但我至少很高兴解决方案事实上解决了,而且太太麻烦了。希望这个答案可以帮助那些在类似问题上挣扎的人。