我在iOS5上创建并将新的Twitter帐户保存到ACAccountStore
时遇到问题。
执行完成帐户的所有步骤后,ACAccountStore's
saveAccount:withCompletionHandler:
会返回NSURLErrorDomain error -1012
。
有没有人有类似的问题?
下面的代码示例使用requestToken来初始化ACAccountCrendential
。此对象是OAToken
(ShareKit对象),使用在完成OAuth
后从Twitter收到的令牌和秘密进行初始化。
ACAccountStore *store = [[[ACAccountStore alloc] init] autorelease];
ACAccountType *twitterAccountType = [store accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter];
ACAccount *account = [[[ACAccount alloc] initWithAccountType:twitterAccountType] autorelease];
account.username = @"twitterusername";
account.credential = [[[ACAccountCredential alloc] initWithOAuthToken:requestToken.key tokenSecret:requestToken.secret] autorelease];
[store requestAccessToAccountsWithType:twitterAccountType withCompletionHandler:^(BOOL granted, NSError *error) {
if (granted) {
[store saveAccount:account withCompletionHandler:^(BOOL success, NSError *error) {
if (success) {
NSLog(@"TWITTER ACCOUNT CREATED SUCCESSFULLY!");
}
else{
NSLog(@"ERROR creating twitter account: %@", [error description]);
}
}];
}
}];
奇怪的是,Apple Accounts Framework Reference建议saveAccount:withCompletionHandler:
尝试自己执行OAuth
:
如果帐户类型支持身份验证且帐户未经过身份验证,则会对帐户进行身份验证 使用其凭据。如果验证成功,则保存帐户;否则,它不会保存。
我发现这很奇怪,因为用户无法通过输入用户名/密码直接与服务器进行身份验证。
我还尝试用我的应用程序的消费者密钥和消费者密钥初始化ACAccountCredential
,结果相同(NSURLErrorDomain error -1012.
失败)
非常感谢有关此主题的任何指导!
感谢。
答案 0 :(得分:2)
我在使用ACAccount添加Twitter帐户时遇到同样的问题。但是,我能够使用授权的OAuth访问令牌和访问令牌密钥,而不是使用消费者密钥和消费者密钥,成功创建具有ACAccount的Twitter帐户。 (dev.twitter.com/apps->Twitter->OAuth->OAuth设置 - >访问令牌和访问令牌机密)这意味着您仍然必须使用OAuth库来获取授权的访问令牌,用户添加Twitter帐户时访问令牌密钥。
更新:您可以看到Twitter建议您如何将现有帐户迁移到iOS5系统帐户here。该链接为我提供了如何添加ACAccount的最佳示例。