iPhoneアプリのFacebookAPIを使用していますが、2つの質問があります。
すべてのドキュメント/例は、すべてをappDelegateに配置しているようです。Facebookオブジェクトをインスタンス化し、appDidFinishLaunchingで承認し、application:handleOpenURLメソッドをオーバーライドします。
私のアプリでは、ユーザーが特定のビューに移動してボタンを押さない限り、何も起こらないようにしています。そのビューでは、Facebookオブジェクトをインスタンス化し、ボタンハンドラーメソッドで承認を開始することを理解していますが、application:handleOpenURLのオーバーライドを処理するのはどうですか?特定のViewControllerで使用されているものとは異なるFBオブジェクト(アプリデリゲートでインスタンス化されている)を使用する必要があります。
この状況ではシングルトンが必要ですか?または、appDelegateでFBオブジェクトをインスタンス化し、プログラム内で必要な場所からFBオブジェクトにアクセスできるようにすることは、優れた設計ソリューションですか?
FBドキュメントでは、application:handleOpenURLメソッドをオーバーライドするように指示されています。
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
return [facebook handleOpenURL:url];
}
- 書かれているように、これはあなたのアプリケーションが1つのタイプのURLしか開くことができないという意味ではありませんか?アプリが複数の応答に応答する必要がある場合は、urlパラメーターを解析して、実行するアクションを特定する必要があります。
ありがとう!