Ios 重定向到Twitter登录的设置屏幕

Ios 重定向到Twitter登录的设置屏幕,ios,objective-c,xcode,twitter,Ios,Objective C,Xcode,Twitter,在Twitter中,如果用户已登录设置屏幕中的Twitter帐户,它将允许发布。否则,它将显示一个警报,显示为“无Twitter帐户”,带有两个选项“设置”和“取消”。如果点击Cancel,它将关闭警报并拒绝发布到twitter。如果点击设置,则不会重定向到设置屏幕。 我也用过 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=TWITTER"]]; 但是没有运气。据我所知,所有人都说,从i

在Twitter中,如果用户已登录设置屏幕中的Twitter帐户,它将允许发布。否则,它将显示一个警报,显示为“无Twitter帐户”,带有两个选项“设置”“取消”。如果点击
Cancel
,它将关闭警报并拒绝发布到twitter。如果点击
设置
,则不会重定向到设置屏幕。 我也用过

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=TWITTER"]];
但是没有运气。据我所知,所有人都说,从iOS5.1开始,它不会工作。但我看到一些应用程序仍然重定向到iOS7的设置屏幕。是否可以在iOS7中重定向。 提前谢谢。

您可以在登录按钮的操作中使用以下代码:

if ([TWTweetComposeViewController canSendTweet])
{
    //yes user is logged in
    accountStore = [[ACAccountStore alloc] init];
    ACAccountType *accountType = [accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter];

    // Request access from the user to use their Twitter accounts.
    [accountStore requestAccessToAccountsWithType:accountType withCompletionHandler:^(BOOL granted, NSError *error)
     {
         // Did user allow us access?
         if (granted == YES)
         {
             // Populate array with all available Twitter accounts
             NSArray *arrayOfAccounts = [accountStore accountsWithAccountType:accountType];

             ACAccount *acct = [arrayOfAccounts objectAtIndex:0];

             // Set the cell text to the username of the twitter account
             NSString *userID = [[acct valueForKey:@"properties"] valueForKey:@"user_id"];
             TwitterIdStr = [[NSString alloc] initWithString:userID];
             FbIdStr = [[NSString alloc] init];
             NSLog(@"%@",userID);
             NSString *networkCheck = [[NSUserDefaults standardUserDefaults] valueForKey:@"isNetWorkAvailable"];
             if ([networkCheck isEqualToString:@"NotConnected"])
             {
                 // not connected
                 dispatch_async(dispatch_get_main_queue(), ^{
                     // Display/dismiss your alert
                     UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"No network connection" message:@"You must be connected to the internet to proceed." delegate:nil cancelButtonTitle:@"OK"otherButtonTitles:nil];
                     [alert show];
                 });

             } else
             {
                 fNameStr = [[NSString alloc] init];
                 lNameStr = [[NSString alloc] init];
                 emailStr = [[NSString alloc] init];

                 [self startProgressViewAgain];
             }

         }
     }];
}
else
{
    //show tweeet login prompt to user to login
    TWTweetComposeViewController *viewController = [[TWTweetComposeViewController alloc] init];

    //hide the tweet screen
    viewController.view.hidden = YES;

    //fire tweetComposeView to show "No Twitter Accounts" alert view on iOS5.1
    viewController.completionHandler = ^(TWTweetComposeViewControllerResult result) {
        if (result == TWTweetComposeViewControllerResultCancelled) {
            [self dismissModalViewControllerAnimated:NO];
        }
    };
    [self presentModalViewController:viewController animated:NO];

    //hide the keyboard
    [viewController.view endEditing:YES];
}

你可以在这里找到答案-好。所以不可能重定向到设置屏幕?这都是在iOS中为你实现的,是的,设置URL链接已被删除,但上述功能在twitter框架中处理。在发布问题之前,请阅读一些文档。我说过我实现了这个twitter框架吗?请先理解这个问题,然后发表评论或者其他什么。谢谢阿苏。这很有帮助,但我想确认一下将屏幕重定向到设置是否有效。这会有效,但会使您的应用程序进入后台。我在我的一些应用程序中成功地使用了它。对于phonegap,是否有等效的代码?我目前正在使用phonegap处理此应用程序,该应用程序是针对ios的。我无法显示上图中显示的警报。我也找不到一种方法,一旦点击按钮,如何重定向到设置页面,