以 FacebookSDK 來說,之前一直都用
github.com/facebook/facebook-ios-sdk 來使用,最近發現 source tree 預設有一些 bug 無法在 Xcode 5.1 編譯成功,自行修又容易碰到維護問題,於是就跑去下載
Facebook 官方打包好的
facebook-ios-sdk-current.pkg 來用了。
之前用 Facebook source code 來編譯時,在 header file 的使用:
#import "Facebook.h"
然而,現在改用 FacebookSDK 時,則該使用
#import <FacebookSDK/FacebookSDK.h>
因此想要在 Compiler Time 來確認,因此來增加彈性。
所幸有找到類似堪用的方式(
Include File Checking Macros):
#if defined(__has_include)
#if __has_include("FacebookSDK/FacebookSDK.h")
#import <FacebookSDK/FacebookSDK.h>
#else
#import "Facebook.h"
#endif
#endif
此外,在 Project 的 Build Settings,就可以這樣通用設定:
- Framework Search Path: /path/sdk/FacebookSDK
- Library Search Paths: ${SRCROOT}
- User Header Search Path: /path/sdk/facebook-ios-sdk
其中 /path/sdk/FacebookSDK 指的是 facebook-ios-sdk-current.pkg 安裝位置(只要把pkg裡的 FacebookSDK.framework 拖進去會自動設定好),而 Library Search Paths 和 User Header Search Path 的設定則是為了採用 source tree 方式。