web-dev-qa-db-ja.com

iPhoneアプリからTwitterアプリでTwitterページを開くにはどうすればよいですか?

Twitterアプリを使用して開きたいページ:

https://Twitter.com/#!/PAGE

Twitterアプリを開くには、次のコードを使用します。

NSURL *urlApp = [NSURL URLWithString: [NSString stringWithFormat:@"%@", @"Twitter://https://Twitter.com/#!/PAGE"]];
[[UIApplication sharedApplication] openURL:urlApp];

しかし、このコードは期待どおりに機能していないようです。表示したいページなしでTwitterアプリのみを起動しました。

21
Alexey

次のURLを探しています。

Twitter:///user?screen_name=PAGE

Twitterがすべてのデバイスにインストールされているわけではないことに注意してください。 openURLメソッドの結果を確認する必要があります。失敗した場合は、Safariで通常のURLでページを開きます。

39
murat

私はこの質問への回答がかなり遅いことを知っており、Muratの答えは絶対に正しいことに同意します。次のようにチェックを追加するだけです。

NSURL *urlApp = [NSURL URLWithString: [NSString stringWithFormat:@"%@", @"Twitter:///user?screen_name=PAGE]];

if ([[UIApplication sharedApplication] canOpenURL:urlApp]){
        [[UIApplication sharedApplication] openURL:urlApp];
    }

これが誰かに役立つことを願っています。乾杯!! :)

14
Apple_iOS0304

次のコードは、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」を自分の名前に置き換えることを忘れないでください。

12
Basem Saadawy

これは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

4
jokenge

@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];
    }
2
Apple_iOS0304