Вы ищете следующий URL:
twitter:///user?screen_name=PAGE
Обратите внимание, что Twitter установлен не на всех устройствах. Вам следует проверить результат метода openURL
. Если это не удается, откройте страницу в Safari с обычным URL.
Я знаю, что ответ на этот вопрос довольно поздний, и я согласен с тем, что ответ Мурата абсолютно верен. Просто добавьте проверку следующим образом:
NSURL *urlApp = [NSURL URLWithString: [NSString stringWithFormat:@"%@", @"twitter:///user?screen_name=PAGE]];
if ([[UIApplication sharedApplication] canOpenURL:urlApp]){
[[UIApplication sharedApplication] openURL:urlApp];
}
Надеюсь, это кому-нибудь поможет. Ура !! :)
Следующий код открывает страницу Twitter в приложении Twitter, если оно уже установлено, в противном случае открывается окно Twitter в Safari:
NSURL *twitterURL = [NSURL URLWithString:@"twitter://user?screen_name=username"];
if ([[UIApplication sharedApplication] canOpenURL:twitterURL])
[[UIApplication sharedApplication] openURL:twitterURL];
else
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.twitter.com/username"]];
Не забудьте заменить «имя пользователя» на ваше имя.
@Alexey: Если вы просто хотите узнать, как запустить твиттер из своего приложения, сделайте следующее:
NSURL *urlApp = [NSURL URLWithString: [NSString stringWithFormat:@"%@", @"twitter://"]];
if ([[UIApplication sharedApplication] canOpenURL:urlApp]){
[[UIApplication sharedApplication] openURL:urlApp];
}else{
UIAlertView *appMissingAlertView = [[UIAlertView alloc] initWithTitle:@"Twitter App Not Installed!" message:@"Please install the Twitter App on your iPhone." delegate:nil cancelButtonTitle:nil otherButtonTitles:@"Ok",nil];
[appMissingAlertView show];
[appMissingAlertView release];
}
Это полный код, необходимый в Swift. Я использую Swift 4, но я верю, что то же самое для Swift 3.
let Username = "YOUR_USERNAME_HERE"
let appURL = NSURL(string: "twitter:///user?screen_name=\(Username)")!
let webURL = NSURL(string: "https://twitter.com/\(Username)")!
let application = UIApplication.shared
if application.canOpenURL(appURL as URL) {
application.open(appURL as URL)
} else {
// if Instagram app is not installed, open URL inside Safari
application.open(webURL as URL)
}
Не забудьте добавить информационные клавиши, необходимые для использования canOpenURL
: