Twitterアプリを使用して開きたいページ:
Twitterアプリを開くには、次のコードを使用します。
NSURL *urlApp = [NSURL URLWithString: [NSString stringWithFormat:@"%@", @"Twitter://https://Twitter.com/#!/PAGE"]];
[[UIApplication sharedApplication] openURL:urlApp];
しかし、このコードは期待どおりに機能していないようです。表示したいページなしでTwitterアプリのみを起動しました。
次のURLを探しています。
Twitter:///user?screen_name=PAGE
Twitterがすべてのデバイスにインストールされているわけではないことに注意してください。 openURL
メソッドの結果を確認する必要があります。失敗した場合は、Safariで通常のURLでページを開きます。
私はこの質問への回答がかなり遅いことを知っており、Muratの答えは絶対に正しいことに同意します。次のようにチェックを追加するだけです。
NSURL *urlApp = [NSURL URLWithString: [NSString stringWithFormat:@"%@", @"Twitter:///user?screen_name=PAGE]];
if ([[UIApplication sharedApplication] canOpenURL:urlApp]){
[[UIApplication sharedApplication] openURL:urlApp];
}
これが誰かに役立つことを願っています。乾杯!! :)
次のコードは、Twitterアプリが既にインストールされている場合は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"]];
「username」を自分の名前に置き換えることを忘れないでください。
これは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)
}
@Alexey:アプリケーションからTwitterを起動する方法を知りたいだけの場合は、次のようにします。
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];
}