Как я могу запустить настройки Twitter на устройстве из моего приложения с объективом-c?Настройки устройства для запуска устройства с объектива-c iOS 9
Я работаю над приложением, которое разделяет ссылку на твиттер, я использую SLComposeViewController, и он работает, но когда приложение Twitter не установлено и учетная запись Twitter не настроена на настройки, она ничего не делает.
Я хочу показать предупреждение, предлагающее пользователю войти в систему на Twitter, чтобы иметь возможность разделить эту ссылку, когда пользователь нажимает кнопку, приложение должно запустить настройки Twitter на устройстве.
Я читал, что с помощью схемы URL, как это не допускается, так как прошивка 5.1
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=TWITTER"]];
Я прочитал это разрешено только для запуска настройки приложения с этим:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
Но я нашел в некоторых приложениях, что он фактически открывает настройки Twitter, как этот:
screenshot of meme generator app that opens twitter settings
Вы знаете, как это сделать?
Вот код, я использую для SLComposeViewController:
- (IBAction)twitterAction:(id)sender {
UIActivityIndicatorView *activityView = [[UIActivityIndicatorView alloc]
initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
activityView.center=self.view.center;
[activityView startAnimating];
[self.view addSubview:activityView];
if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter]) {
SLComposeViewController *composerSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter];
[composerSheet setInitialText:@"text to post"];
[composerSheet addURL:[NSURL URLWithString:@"http://urltoshare.com"]];
[composerSheet addImage:[UIImage imageNamed:@"postimage.JPG"]];
[composerSheet setCompletionHandler:^(SLComposeViewControllerResult result) {
[activityView stopAnimating];
switch (result) {
case SLComposeViewControllerResultCancelled:
NSLog(@"Post Canceled");
// some code ...
break;
case SLComposeViewControllerResultDone:
[self changeSharedStatus];
NSLog(@"Post Sucessful");
// some code ...
break;
default:
break;
}
}];
[self presentViewController:composerSheet animated:YES completion:nil];
}else {
/* code to show the alert that invites the user to open settings */
}
}