0

こんにちは、ios5.0 を使用して iPhone アプリに Twitter を統合することに成功しました。私の質問は、ios 5.0 の twitter に 2 つのアカウントでログインしていて、アプリからツイートするために、どのユーザーがツイートしたか、またはアクティブなアカウントのユーザー ID を知る方法です。

4

2 に答える 2

0

このメソッドを使用してユーザー情報を取得します

- (void) storeCachedTwitterOAuthData: (NSString *) data forUsername: (NSString *) username 
{  
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];  
    [defaults setObject: data forKey: @"authData"];  
    [defaults synchronize];  
}  

- (NSString *) cachedTwitterOAuthDataForUsername: (NSString *) username 
{  
    return [[NSUserDefaults standardUserDefaults] objectForKey: @"authData"];  
}  

そしてまた

- (void)userInfoReceived:(NSArray *)userInfo forRequest:(NSString *)connectionIdentifier 
{
    NSLog(@"User Info Received: %@", userInfo);
}

ここでユーザー名を取得します

于 2012-06-22T07:16:50.387 に答える
0

では、TWTweetComposeViewController画像に示されているピッカーを取得でき、そこからアカウントの 1 つを選択できます。

ここに画像の説明を入力

直接ツイートする場合は、ACAccount を使用して取得できます。

+ (void)pritnUserName {
// Create an account store object.
ACAccountStore *accountStore = [[ACAccountStore alloc] init];

// Create an account type that ensures Twitter accounts are retrieved.
ACAccountType *accountType = [accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter];

// Request access from the user to use their Twitter accounts.
[accountStore requestAccessToAccountsWithType:accountType withCompletionHandler:^(BOOL granted, NSError *error) {
    if(granted) {
        // Get the list of Twitter accounts.
        NSArray *accountsArray = [accountStore accountsWithAccountType:accountType];

        // For the sake of brevity, we'll assume there is only one Twitter account present.
        // You would ideally ask the user which account they want to tweet from, if there is more than one Twitter account present.
        if ([accountsArray count] > 0) {
            // Grab the initial Twitter account to tweet from.

            for (int i = 0 ; i < [accountsArray count] ;i++){
                ACAccount *twitterAccount = [accountsArray objectAtIndex:i];
                NSLog(@"username :%d is %@",i+1,twitterAccount.username);

            }

        }
    }
}];

[accountStore release];

}

于 2012-07-06T11:38:53.770 に答える