2012-04-11 13 views
2

iOSがURLをどのように処理するかはよく分かりませんが、私の電話では何か変なことが起きているようです...iPhone:fb:// ... URLはFacebookではなくPremier Innアプリを開きます

Facebookのアプリケーション(またはFacebookがインストールされていない場合はSafari)を開くことになっている、私たちのアプリには「好き」ボタンがあります。何らかの理由で、私の電話でそれをクリックすると、「Premier Inn」アプリが開きます。私のFacebookアプリのプレミアインアプリの両方が私の携帯電話にインストールされているが、次のコードが実行されると、Facebookが開かれていない理由はわからない:

NSURL *fanPageURL = [NSURL URLWithString:@"fb://page/BIG_NUMBER_HERE"]; 

if (![[UIApplication sharedApplication] openURL: fanPageURL]) { ... } 

明白な理由のために、私は、ページ番号を置換しました上記のコードのBIG_NUMBER_HERE

誰かがこれが間違っている理由を説明できますか? Premier Innアプリはfb:// URLのハンドラとして「登録」されていますか?

よろしく、

答えて

1

プレミアインは「FB」のハンドラとして登録されているようにあなたが示唆するのと同じように、それが聞こえます。アプリケーションが同じURLスキームを使用するのを止めるための中央レジストリはありません。これは開発者の幸運と妥当な名前空間の選択です。

編集:私はcanonicalソースを見つけることができませんが、最近呼び出されたハンドラアプリケーションがインストールされています。

+0

ありがとうございました。これはそうであるようです。私は "Premier Inn"アプリをアンインストールしてから、SafariでURLを開いた。その後、私はFacebookアプリをアンインストールしてから再インストールし、最終的には期待通りにFacebookアプリケーションで開いた。だから私は、プレミアインはちょうど "fb://"リンクのためのハンドラとして登録されていたと思います。 –

0

試してみてください。pageからprofileに変更してください。

関連する問題