2012年7月5日 星期四

MAC 輸入特殊字元

在Windows上已經很習慣新注音輸入特殊符號的方式,
換到Mac上真的有點水土不服,除了常用的標點符號之外,
其他的符號每次要用都要在那邊按來按去,
而且還不一定會會按對。

搜尋了一下只要按下
command + option + T


就會出現字元表,然後點選你要的就行啦!
雖然比不上直接輸入快,
但是比每次都要在那邊猜猜看好很多。

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了。