Twitter登录未在我的ios应用程序中打开登录窗口
Posted
技术标签:
【中文标题】Twitter登录未在我的ios应用程序中打开登录窗口【英文标题】:Twitter Login not Open Login Window in my ios app 【发布时间】:2013-12-05 13:38:52 【问题描述】:我想在我的 ios 应用中实现 Twitter 登录。并将用户凭据保存在我的应用程序中。我已经完成了 Twitter Developer 的所有 Twitter 设置。并获取消费者密钥和秘密密钥。将其保存到 Plist 中。我在单击按钮时尝试了此代码,但未在我的 iOS 应用程序中打开 Twitter 登录窗口。为什么会这样。
我试过这个代码
ACAccountStore *account = [[ACAccountStore alloc] init];
ACAccountType *accountType = [account accountTypeWithAccountTypeIdentifier:
ACAccountTypeIdentifierTwitter];
[account requestAccessToAccountsWithType:accountType options:nil
completion:^(BOOL granted, NSError *error)
----------> Debuger not going here if (granted == YES)
NSArray *arrayOfAccounts = [account
accountsWithAccountType:accountType];
if ([arrayOfAccounts count] > 0)
ACAccount *twitterAccount =
[arrayOfAccounts lastObject];
NSLog(@"11111111----%@",[[twitterAccount valueForKey:@"properties"]valueForKey:@"user_id"]);
NSDictionary *message = @@"status": @" First Twitter post from iOS6";
NSURL *requestURL = [NSURL URLWithString:@"http://api.twitter.com/1/statuses/update.json"];
SLRequest *postRequest = [SLRequest
requestForServiceType:SLServiceTypeTwitter
requestMethod:SLRequestMethodPOST
URL:requestURL parameters:message];
postRequest.account = twitterAccount;
[postRequest
performRequestWithHandler:^(NSData *responseData,
NSHTTPURLResponse *urlResponse, NSError *error)
NSLog(@"Twitter HTTP response: %i",
[urlResponse statusCode]);
];
];
请帮我解决这个问题。提前致谢。
【问题讨论】:
【参考方案1】:----------> Debuger not going here if (granted == YES)
可能是您没有在 iOS 的设置中配置您的 twitter 帐户。
或者当 twitter 弹出窗口出现时,您没有通过单击 Disallow 来允许您的应用程序访问 twitter。
交叉检查(模拟器):Settings->Privacy->Twitter
您的应用是否出现在列表中?如果没有,请删除它并重试。
工作代码:
accountStore = [[ACAccountStore alloc] init]; // Declare it in .h file (for testing)
ACAccountType *twitterAccountType = [accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter];
NSArray *twitterAccounts = [accountStore accountsWithAccountType:twitterAccountType];
// Runing on iOS 6
if (NSClassFromString(@"SLComposeViewController") && [SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter])
[accountStore requestAccessToAccountsWithType:twitterAccountType options:NULL completion:^(BOOL granted, NSError *error)
if (granted) // User already login in default Twitter application
];
【讨论】:
FBLogin 是什么? 对不起,这是我的错误......这不是错误......当用户点击 twiiter 按钮操作时没有发生任何事情...... @Namo:检查更新的答案。请在.h
文件中声明accountStore
以上是关于Twitter登录未在我的ios应用程序中打开登录窗口的主要内容,如果未能解决你的问题,请参考以下文章
将 FirebaseUI 与 Twitter 登录一起使用(iOS 应用)
什么是阻止用户每次打开我的应用程序时都必须使用 Twitter Digits 登录的安全方法?