¿Conseguir que Twitter muestre la opción de ir a mi página de configuration si Twitter no está configurado? iOS5 +

Si accedo a Twitter, preferiría usar el cuadro de alerta automático pidiéndole al usuario que acceda a la configuration, pero no puede hacerlo funcionar y proporcionar mi propio cuadro de dialog pnetworkingeterminado, que realmente no quiero hacer.

- (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]; } }]; } 

Es un poco complicado, obtengo la eliminación de las subvenciones en *TWTWeetComposeViewController* , por lo que solo muestra alerta cuando el usuario no está conectado y onclick en el button de configuration, podemos abrir la página de configuration en mi aplicación.

  + (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]; } } 

Aquí, delegado es su controller de vista, si usa este método dentro de su control de visualización, simplemente use self lugar de delegate .

Tuve que enfrentar el mismo problema y encontré esta solución

Que yo sepa, esto solo fue posible en las versiones de iOS 5.0 – 5.0.1. Luego se depreció nuevamente en iOS 5.1

Entonces, NO hay solución en este momento …

En caso de que quiera usar la parte iOS 5:

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

Y algo más de lectura sobre el mismo tema.