顯示具有 Facebook 標籤的文章。 顯示所有文章
顯示具有 Facebook 標籤的文章。 顯示所有文章

2012年7月4日 星期三

Facebook iOS Tutorial Step 5

能夠成功的登入、登出, 再來就是依功能要求不同的權限,
要求額外的權限方式也很簡單,
只要將你需要的權限加入NSArray中,
然後將個Array以參數的方式指定給facebook 這樣就行了。
NSArray *permissions = [[NSArray alloc] initWithObjects:
        @"user_likes", 
        @"read_stream",
        nil];
[facebook authorize:permissions];
[permissions release];
可以要求的權限不少,可以參考Permissions Reference
權限基本上分成兩大類:
  • User and Friends Permissions
    • 有關用戶與朋友的部分,這會在第一個授權畫面呈現
    • 例如:user_likes
  • Extended Permissions
    • 擴展功能的部分,這會在第二個授權畫面呈現
    • 例如:read_stream

2012年7月2日 星期一

Facebook iOS Tutorial Step 4

能成功登入之後,就是要能夠登出。
登出的方式也很簡單只,要呼叫:
[facebook logout];
就可以了!

另外記得登出時,會呼叫FBSessionDelegate中fbDidLogout,
要記得實作啊!

- (void) fbDidLogout {
    // Remove saved authorization information if it exists
    //這邊是將access_token存起來
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    if ([defaults objectForKey:@"FBAccessTokenKey"]) {
        [defaults removeObjectForKey:@"FBAccessTokenKey"];
        [defaults removeObjectForKey:@"FBExpirationDateKey"];
        [defaults synchronize];
    }
}

Facebook iOS Tutorial Step 3

Step 3: Implementing Single Sign-On (SSO)
第三步就是要實現單一登入。

實現單一登入時,注意驗證方式有幾種不同的機制:
  1. 如果App支援多工,而且裝置上安裝了3.2.3 Facebook App
    • SDK會開啓App
  2. 如果App支援多工,但是裝置上沒有安裝了3.2.3 Facebook App
    • SDK會開啓一個Safari瀏覽器驗證對話框
  3. 如果App不支援多工
    • SDK使用彈出一個內嵌UIWebView的驗證對話框
Facebook Developer有建議使用者升級Facebook App,
所以感覺上應該是比較推薦第一種驗證方式吧!

另外如果你的專案是使用ARC的話記得要將SDK轉換
將SDK加入專案之後,再來就是要開始實作啦!
ViewController.h
#import "FBConnect.h"

@interface ViewController : UIViewController <FBSessionDelegate> {
    
    Facebook *facebook;
}
@property (nonatomic ,retain) Facebook *facebook;
@end
ViewController.m
@synthesize facebook;
//將facebook物件在適當的位置建立
facebook = [[Facebook alloc] initWithAppId:@"Your App ID" andDelegate:self];

//由User Default將access token取出
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([defaults objectForKey:@"FBAccessTokenKey"] 
    && [defaults objectForKey:@"FBExpirationDateKey"]) {
    facebook.accessToken = [defaults objectForKey:@"FBAccessTokenKey"];
    facebook.expirationDate = [defaults objectForKey:@"FBExpirationDateKey"];
}

//判斷連線是否有效,如果是無效的,將需要的權限裝載在NSArray中,然後設定facebook授權。
if (![facebook isSessionValid]) {
        NSArray *permissions = [[NSArray alloc] initWithObjects:
                                @"user_likes", 
                                @"read_stream",
                                nil];
        [facebook authorize:permissions];
    }

//再來就是要加入fbDidLogin,用User Default將access token存起來
- (void)fbDidLogin {
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    [defaults setObject:[facebook accessToken] forKey:@"FBAccessTokenKey"];
    [defaults setObject:[facebook expirationDate] forKey:@"FBExpirationDateKey"];
    [defaults synchronize];

}
AppDelegate.m
// Pre iOS 4.2 support,iOS 4.2之前執行
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
    return [facebook handleOpenURL:url]; 
}

// For iOS 4.2+ support,iOS 4.2之後執行
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url
    sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
    return [facebook handleOpenURL:url]; 
}
再來就是要修改property list file
開啟App的XXX-Info.plist 建立一筆URL types記錄,在記錄中依序添加 item, URL Schemes, 然後輸入數值fb[YOUR_APP_ID]。


這樣就完工啦!可以測測看啦!

Creating an iOS Facebook SDK Static Library

專案若是使用ARC的話,記得要將Facebook SDK轉換,
在下載回來的SDK裡,有提供轉換的工具, 工具在~/facebook-ios-sdk/scripts下,
在Terminal中執行./build_facebook_ios_sdk_static_lib.sh
或是直接執行下面這個指令。
% ~/facebook-ios-sdk/scripts/build_facebook_ios_sdk_static_lib.sh
執行結束之後畫面會出現
















接著將新產生的~/facebook-ios-sdk/lib/facebook-ios-sdk
加入專案中就可以了

Facebook iOS Tutorial Step 2

Step 2: Installing the iOS SDK
第二步也不難,而且可能你都已經做完啦!
這邊有三件事要做:
  1. 安裝XCode
  2. 安裝Git
  3. 在下載SDK

Facebook iOS Tutorial Step 1

在開始之前,你一定要先擁有Facebook的帳號,
而且帳號必須要先加入Facebook Developers才行噢。

Step 1: Registering your iOS App with Facebook
這邊是為你的APP註冊一個專屬的Facebook App ID,
只要照著提示走下去,很容易就完成了。

首先當你進入Developers畫面之後,選擇你要建立的APP類型,
或是直接選右上方的應用程式進入建立新的應用程式畫面。














輸入你的App Name,這邊要注意一下App Name的限制,
而且App Name不能跟其他的App重複,
如果有錯誤或是重複,系統會提示你。










當你完成輸入之後,他會有個驗證,
依畫面輸入正確的驗證碼,就能完成建立App ID了。
















2012年6月29日 星期五

Facebook API 筆記

雖然先前讀書會上有同學分享過Facebook API,
但是沒有真的去實作,還真的不真到哪邊有問題。

最近因為工作上的需要所以,要用到Facebook 分享,
所以開篇文章記錄一下,方便日後搜尋。

在Facebook Developers的iOS Tutorial中,
分成了以下幾個步驟:
相關網頁: