[iOS5]Accounts

2011/06/08

iOS5の新フレームワーク Accounts を英語勉強がたら翻訳してみた。 誤訳、誤字だらけですが。。。

ざっと見た感じだけど、Androidのandroid.provider.Contactsと似たような仕様な気配。 iCloud でユーザがアカウントを利用する事が増えると予想されるので、将来的には重要な部分かも知れない。

ACAccount.h

/System/Library/Frameworks/Accounts.framework

ACAccount.accountDescription

人が閲覧可能のアカウントの説明

@property(nonatomic, copy) NSString *accountDescription

アプリケーションがこのアカウントにアクセスできるユーザ権限ダッタ場合、このプロパティは有効で、それ以外はnil です。

ACAccount.accountType

アカウントタイプ

@property(nonatomic, retain) ACAccountType *accountType

このプロパティは必須です。アカウントタイプを initWithAccountTypeメソッド を利用して指定します。 特殊なアカウント全てを取得するaccountsWithAccountType メソッドで利用する事ができます。

ACAccount.credential

credentialは、ユーザアカウント認証に利用されます。

@property(nonatomic, retain) ACAccountCredential *credential

このプロパティは必須で、アカウントを保存する前に設定が必要です。 プライパシーの理由で、このプロパティはアカウント保存後はアクセスする事はできません。

ACAccount.identifier

アカウント用のユニークな identifierです(読み込みのみ)

@property(nonatomic, readonly) NSString *identifier

アカウント取得するには、identifierを指定したaccountWithIdentifier メソッドで利用して下さい。

ACAccount.username

アカウント用のユーザ名です。

@property(nonatomic, copy) NSString *username

このプロパティは、アカウント保存前に設定する必要があります。 アカウント保存後は、アカウントに接続可能なユーザ権限を与えられたアプリケーションでこのプロパティが利用可能です。それ以外はnil になります。

initWithAccountType:

指定された方で新しいアカウントを初期化します。

- (id)initWithAccountType:(ACAccountType *)type

■パラメータ type アカウントのタイプです。 ■返り値 新しい初期化されたアカウント

ACAccountCredential.h

/System/Library/Frameworks/Accounts.framework

initWithOAuthToken:tokenSecret:

 -[ACAccountCredential initWithOAuthToken:tokenSecret:]

■パラメータ token クライアントアプリケーションのtoken secret クライアントアプリケーションのsecret token ■返り値 新しい初期化された ACAccountCredential

ACAccountStore.h

-[ACAccountStore accountTypeWithAccountTypeIdentifier:]

指定されたアカウントタイプのidentifier に一致したアカウントタイプを返す。

- (ACAccountType *)accountTypeWithAccountTypeIdentifier:(NSString *)typeIdentifier

■パラメータ typeIdentifier アカウントタイプのidentifier ■返り値 typeindentifier に一致したアカウントタイプ

-[ACAccountStore accountWithIdentifier:]

指定したidentifier でアカウントを返す。

- (ACAccount *)accountWithIdentifier:(NSString *)identifier

■パラメータ identifier アカウント用のユニークな identifier ■返り値 identifierに一致したアカウント

ACAccountStore.accounts

アカウントストアによる、管理されたアカウント一覧(読み込みのみ)

@property(nonatomic, readonly) NSArray *accounts

-[ACAccountStore accountsWithAccountType:]

指定された型の全てのアカウントを返す。

- (NSArray *)accountsWithAccountType:(ACAccountType *)accountType

■パラメータ accountType アカウントの種類

-[ACAccountStore requestAccessToAccountsWithType:withCompletionHandler:]

指定した方のアカウントにアクセスします。

- (void)requestAccessToAccountsWithType:(ACAccountType *)accountType 
 withCompletionHandler:(void (^)(BOOL granted, NSError *error))handler

■パラメータ accountType アカウントタイプ handler アクセスが許可、拒否された時に呼ばれるハンドラーです。 このハンドラは任意のキューで呼ばれます。ハンドラのパラメータは granted アクセスが許可されたかどうかBoolean型の値です。 アクセス許可された時はYES、それ以外はNOまたはエラーです。 error エラーが発生したときに返します。 Discussion このメソッドは、アプリケーションがアカウントにアクセスするか?ユーザ確認ダイアログ表示します。 許可された場合は、アプリケーションは保護されたプロパティへアクセスし、指定された型の全てのアカウントで動作します。

-[ACAccountStore saveAccount:withCompletionHandler:]

アカウントデータベースに保存します。

- (void)saveAccount:(ACAccount *)account withCompletionHandler:(ACAccountStoreCompletionHandler)completionHandler

アカウントをアカウントデータベースに保存する。

■パラメータ account 保存するアカウント completionHandler 処理が終了した時に呼ばれるハンドラーです。ハンドラーは任意のキューで呼ばれます。 アカウントタイプが認証をサポートして認証されなかった場合は、そのアカウントはcredentialsを利用して認証されます。 認証が成功した場合はアカウントが保存され、それ以外は保存されません。

ACAccountStoreChangedNotification

データベース上で変更されたアカウントストアで、アカウント管理されている時にポストします。 関連するuserInfo dictionary はありません。 この通知は、アカウントがローカルや外部で保存、削除された場合に呼ばれます。この通知を受け取った時は、全てのアカウントオブジェクトをリフレッシュすると良いでしょう。

ACAccountStoreCompletionHandler

アカウントデータベースの処理が完了した時に、呼ばれる指定のハンドラーです。

typedef void(^ACAccountStoreCompletionHandler)(BOOL success, NSError *error);

完了ハンドラーのパラメータは

success 処理が成功したかどうかのBoolean値です。処理が成功した場合はYES、それ以外はNOを返します。 error エラー発生時に返ります。

ACAccountType.h

ACAccountType.accessGranted

アプリケーションがアカウントにアクセスするのをユーザが許可したか?のBoolean値(読み込みのみ)

@property(nonatomic, readonly) BOOL accessGranted

アプリケーションがアクセスできる場合はYES、そうでない場合はNO

ACAccountType.accountTypeDescription

人がアカウントタイプの閲覧可能な説明(読み込みのみ)

@property(nonatomic, readonly) NSString *accountTypeDescription

ACAccountType.identifier

アカウントタイプのためのユニークなidentifier(読み込みのみ)

@property(nonatomic, readonly) NSString *identifier

"アカウントタイプ identifiers"の中の、記載された可能な値

ACAccountTypeIdentifierTwitter

サポートされたアカウントタイプによる Identifiers

NSString * const ACAccountTypeIdentifierTwitter;

■定数 ACAccountTypeIdentifierTwitter Twitterアカウントタイプのための Identifier

ACError.h

ACErrorAccountAuthenticationFailed

credential失敗の認証で、アカウントが保存されなかった

ACErrorAccountMissingRequiredProperty

必須プロパティが見つからず、アカウントが保存されなかった

ACErrorAccountNotFound

アカウントが見つからず、アカウントが削除されなかった An account was not deleted because it could not be found.

ACErrorAccountTypeInvalid

アカウントタイプが間違っており、アカウントが保存されなかった

ACErrorCode

typedef enum ACErrorCode {
   ACErrorUnknown = 1,
   ACErrorAccountMissingRequiredProperty,
   ACErrorAccountAuthenticationFailed,
   ACErrorAccountTypeInvalid,
   ACErrorAccountNotFound,
   ACErrorPermissionDenied
} ACErrorCode;

ACErrorDomain

記載無し(そのまま、ドメインが取得できない、、、だと思うが・・・)

ACErrorPermissionDenied

アプリケーションが処理を実行するパーミッションがなく、処理に失敗した

ACErrorUnknown

予期せぬエラー

AccountsDefines.h

#def ACCOUNTS_CLASS_AVAILABLE

記載無し

#def ACCOUNTS_EXTERN

記載無し