Как открыть страницу Twitter в приложении Twitter из моего приложения iphone?
Страница, которую я хочу открыть, используя приложение Twitter:
https://twitter.com/#!/PAGE
Чтобы открыть приложение Twitter, я использую следующий код:
NSURL *urlApp = [NSURL URLWithString: [NSString stringWithFormat:@"%@", @"twitter://https://twitter.com/#!/PAGE"]];
[[UIApplication sharedApplication] openURL:urlApp];
Но этот код работает не так, как ожидалось, у меня появилось только приложение twitter без страницы, которую я хочу показать.
Ответы
Ответ 1
Вы ищете следующий URL:
twitter:///user?screen_name=PAGE
Обратите внимание, что Twitter не установлен на всех устройствах. Вы должны проверить результат метода openURL
. Если это не удается, откройте страницу в Safari с регулярным URL.
Ответ 2
Я знаю его довольно поздний ответ на этот вопрос, и я согласен с тем, что ответ Мурата абсолютно правильный.
Просто добавьте проверку следующим образом:
NSURL *urlApp = [NSURL URLWithString: [NSString stringWithFormat:@"%@", @"twitter:///user?screen_name=PAGE]];
if ([[UIApplication sharedApplication] canOpenURL:urlApp]){
[[UIApplication sharedApplication] openURL:urlApp];
}
Надеюсь, это поможет кому-то. Ура!!:)
Ответ 3
Следующий код открывает страницу Twitter в приложении Twitter, если она уже установлена, в противном случае открывается твиттер на сафари:
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"]];
Не забудьте заменить "имя пользователя" на ваше имя.
Ответ 4
@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];
}
Ответ 5
Это полный код, необходимый в 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 Twitter app is not installed, open URL inside Safari
application.open(webURL as URL)
}
Не забудьте добавить информационные ключи, необходимые для использования canOpenURL
:
![Info Keys Needed]()