2012-11-21 10 views
6

Lütfen bu yöntemi ne zaman kullanırız? - (void)saveAccount:(ACAccount *)account withCompletionHandler:(ACAccountStoreSaveCompletionHandler)completionHandlerACAccountStore sınıfının saveAccount: (ACAccount *) hesabını ne zaman kullanıyoruz?

Bildiğim kadarıyla, OAuth aracılığıyla hesaba erişebiliyoruz ve kullanıcının kimlik bilgilerini alamıyoruz. Peki nasıl bir hesap oluşturacağız? ACAccount'un tek bir oluşturma yöntemine sahip olduğunu buldum: - (id)initWithAccountType:(ACAccountType *)type Bu şekilde hesap oluşturduğumuzda gerçekte ne oluyor? Ve şimdi kurtarabilir miyiz?

cevap

11

Tamam, sonunda bununla ilgili bilgileri buldum. Bu senaryoyu düşünün: Uygulamamız kullanıcı tarafından zaten yetkilendirilmiş ve hem erişim belirteci hem de sırrımız var. Şimdi yeni iOS 6 özelliklerini desteklemek ve Ayarlar'da twitter (örneğin) hesabı oluşturmak istiyoruz. Bunu yapmak için, bu jetonları merkezi hesap deposuna taşımamız gerekir. :) Hayatımı kaydeder

- (void)storeAccountWithAccessToken:(NSString *)token secret:(NSString *)secret { 
    //We start creating an account by creating the credentials object 
    ACAccountCredential *credential = [[ACAccountCredential alloc] initWithOAuthToken:token tokenSecret:secret]; 
    ACAccountType *twitterAcctType =[self.accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter]; 
    ACAccount *newAccount = [[ACAccount alloc] initWithAccountType:twitterAcctType]; 
    //Here we assign credentials and now can save account 
    newAccount.credential = credential; 

    [self.accountStore saveAccount:newAccount withCompletionHandler:^(BOOL success, NSError *error) { 

     if (success) { 
      NSLog(@"the account was saved!"); 
     } 
     else { 
      //Handle error here 
     } 
    }]; 
} 

fazla bilgi için benden buraya how to migrate tokens

+0

1 okumak hakkında :): İşte nasıl – RayofHope

İlgili konular