22
21

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ACAccountStore周りのメモ

Posted at

Social.frameworkを使うときに使うACAccountStoreの挙動がわかりにくいので備忘録として残したいと思います。
注:Twitterのみで検証

##デバイスにアカウントが登録されているか否か

//SLComposeViewControllerクラス
+ (BOOL)isAvailableForServiceType:(NSString *)serviceType;

登録されてるとYES
登録されていないとNOが返ります。
アカウントへのアクセスをユーザーが許可していなくても、デバイスにアカウントが登録されてるとYESが返ります。

##デバイスに登録されているアカウントの取得

//ACAccountStoreクラス
- (NSArray *)accountsWithAccountType:(ACAccountType *)accountType;

デバイスにアカウントが登録されていても、アクセスを許可されていない場合はゼロObjectになります。
もちろん、デバイスにアカウントが登録されていない場合も内容はカラになります。

##認証確認
AccountStoreにアクセスしようとすれば自動的に認証確認画面になるが呼ばれない時は

- (void)requestAccessToAccountsWithType:(ACAccountType *)accountType
                                options:(NSDictionary *)options
                             completion:(ACAccountStoreRequestAccessCompletionHandler)completion;

等を呼べば確認画面になる。
しかし一度でも認証を拒否すれば、確認画面は出てこなくなる。
その場合は「設定-プライバシー-Twitter」から、ユーザー自身が設定を変更する必要がある。


認証確認画面が出てくる条件とかイマイチ把握できていませんので、もしよければツッコミお願いします。

22
21
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
22
21

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?