2016-08-25 5 views
0
BOOL isInstalled = [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"fb://"]] 

if (isInstalled) { 

} else { 

} 

上記のコードはiPhoneではうまく動作しますが、iPadでは動作しません。fb appの確認方法は、iPadにインストールされていますか?

+0

あなたは本当のiPad上でテストされています確認してください? FacebookのアプリはiPadにインストールされていますか?あなたのiPadのXcodeデバッガでこのコードを実行すると、デバッグコンソールに出力がありますか? – rmaddy

+0

各デバイスはどのバージョンのiOSで動作していますか? – Wain

+0

あなたのipadのバージョンは何ですか?一度手作業で確認すると、fbがあなたのipadにインストールされているかどうかはわかりません。 –

答えて

4

まず、あなたのInfo.plistファイル

<key>LSApplicationQueriesSchemes</key> 
<array> 
    <string>fb</string> 
    <string>fbapi</string> 
    <string>fb-messenger-api</string> 
    <string>fbauth2</string> 
    <string>fbshareextension</string> 
</array> 

に以下を追加することによって、「ホワイトリスト」にURLが必要になりますし、

if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"fb://"]]) { 
    // Facebook app is installed 
}else 
{ 
// not installed 
} 
+0

OPはコードがiPhoneで動作すると述べているので、なぜ、 'fb'方式しか使わないのでしょうか? – rmaddy

+0

@rmaddy - ipadにfbがインストールされていないか、fbapi:// "、fb-messenger-api://"、@ "fbauth2://"、@ "fbshareextension: // 'これはチェックする必要があります –

+1

いいえ、このアプリケーションは' fb'体系で 'canOpenURL:'を呼び出すだけです。したがって、そのスキームのみをホワイトリストに登録する必要があります。 – rmaddy

関連する問題