1

Twitterに投稿するアプリ(iOS5+)を開発しています。システムに Twitter アカウントが設定されているかどうかを確認して、アカウントが利用可能な場合は Twitter からログインできるようにします[設定] に移動して、システムに Twitter アカウントを追加します (ただし、ユーザーをアプリに戻すことができないため、この方法は好きではありません)。

このアプローチの唯一の問題は、シミュレーターで使用しているアカウントの数を確認できることです

ACAccountType *twitterAccountType = [_accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter];
// Get the list of Twitter accounts and checks
NSArray *accountsArray = [_accountStore accountsWithAccountType:twitterAccountType];

同じコードは実際のデバイスでは機能せず、配列が空であることを常に報告します (アプリが Twitter を使用する許可を既に与えているアカウントのみを返すため)。

2 番目のアプローチは、特に -ACAccountStore requestAccessToAccountsWithType:withCompletionHandler: メソッドの完了ハンドラーを使用することです。

// We can user the twitter iOS accounts, but we use a custom view to post the content
[_accountStore requestAccessToAccountsWithType:twitterAccountType withCompletionHandler:^(BOOL granted, NSError *error) {
if (granted)
{
// POST
}
else
{
// error?
}

ただし、2 番目のケースでは、次のいずれかの場合、エラーは常に nil です。

したがって、基本的に2つのケースを区別することはできません。したがって、ユーザーにログインするためのビューを提示する必要があるか(2番目のケース)、ログインしたくないために失敗するかはわかりません.

洞察はありますか?回避策はありますか?

4

0 に答える 0