3

Twitterにアクセスする場合は、自動アラートボックスを使用して、ユーザーに設定に移動するように求めますが、それを機能させて独自のデフォルトダイアログを提供することはできません。これは、本当にやりたくないことです。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

NSLog(@"indexPath.row %i", indexPath.row);

if (indexPath.row == 0) {

    store = [[ACAccountStore alloc] init]; // Long-lived

    twitterType = [store accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter];

    [store requestAccessToAccountsWithType:twitterType withCompletionHandler:^(BOOL granted, NSError *error) {

        if (granted) {
            // Access has been granted, now we can access the accounts

            twitterAccounts = [store accountsWithAccountType:twitterType];
            if (twitterAccounts.count == 1) {
                  [self getTwitterData:[twitterAccounts objectAtIndex:0]];

            } else {
                   [self selectTwitterAccount];
            }
        } else {
        // Prefer NOT to do this ************************************
        [self performSelectorOnMainThread:@selector(showTwitterError) withObject:nil waitUntilDone:NO];
        }

    }];
}
4

2 に答える 2

1

私の知る限り、これはiOSバージョン5.0-5.0.1でのみ可能でした。その後、iOS5.1で再び減価償却されました

したがって、現時点では解決策はありません...

iOS 5パーツを使用する場合:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs://"]];

そして、同じトピックについてもう少し読んでください

于 2012-10-09T04:50:52.510 に答える
1

少し注意が必要です。サブビューを削除すると、*TWTWeetComposeViewController*ユーザーがログインしていない場合にのみアラートが表示され、設定ボタンをクリックすると、アプリで設定ページを開くことができます。

     + (void)setAlertForSettingPage :(id)delegate 
    {
     // Set up the built-in twitter composition view controller.
        TWTweetComposeViewController *tweetViewController = [[TWTweetComposeViewController alloc] init];


        // Create the completion handler block.
        [tweetViewController setCompletionHandler:^(TWTweetComposeViewControllerResult result) {
            [delegate dismissModalViewControllerAnimated:YES];
        }];

        // Present the tweet composition view controller modally.
        [delegate presentModalViewController:tweetViewController animated:YES];
        //tweetViewController.view.hidden = YES;
        for (UIView *view in tweetViewController.view.subviews){
            [view removeFromSuperview];
        }

     } 

ここで、デリゲートはビューコントローラです。ビューコントローラ内でこのメソッドを使用している場合は、selfの代わりにを使用してくださいdelegate

私は同じ問題に直面しなければならず、この解決策を見つけまし

于 2012-10-09T07:25:09.310 に答える