先日リリースされたOS 6はFacebookの機能が統合されて、Facebookへのネイティブログインなどの開発が可能になりました。そこでその新機能を利用するために最新のSDKを入手します。
http://developers.facebook.com/ios/にてSDKをダウンロードします。
そして、入手したものを解凍してプロジェクトに追加します。
SDK3.1を利用するためにはiOSの最新のフレームワークであるAdSupport.framework , Social.framework , iOS5.1から登場した?Accounts.frameworkが必要であるのでProjectのTARGETS→Summary→Linked Frameworks and Librariesにてこれらのフレームワークを追加します。
iOS5にも対応させるためにこれら三つのフレームワークをrequiredからoptionalに変更します。
以前3.0のバージョンでFacebook.hをインポートされていた方はFacebook.h not foundとエラーがでるかもしれません。
その場合の対処としてはファインダーにてFacebookSDK.framework/Versions/A/DeprecatedHeadersのフォルダを検索します。この中にFacebook.hのファイルが入っています。
そのフォルダをXCodeの左のツールバーのFrameworksフォルダにドラッグアンドドロップします。
SDK3.1になってからアクセス許可の読み取り権限と書き込み権限を別々に発行しなければならないので、
openActiveSessionWithPermissions:allowLoginUI:completionHandler:
を
openActiveSessionWithReadPermissions:allowLoginUI:completionHandler:
に書き換えます。
reauthorizeWithPublishPermissions:defaultAudience:completionHandler:
で書き込み権限を取得します。
詳しくはfacebookのチュートリアルで使い方などを確認してみてください。
http://developers.facebook.com/docs/tutorials/ios-sdk-tutorial/
この方法でiOS5.1とiOS6で両方動作確認ができました。
参考URL
http://developers.facebook.com/docs/tutorial/iossdk/upgrading-from-3.0-to-3.1/
http://stackoverflow.com/questions/12807489/facebook-h-not-found