強火で進め

このブログではプログラム関連の記事を中心に書いてます。

Google Toolbox for Macを使ってみた

ちょっと出遅れた感がありますが噂の「Google Toolbox for Mac」を触ってみました。

Google Toolbox for Mac」についてはこちら

GoogleからMacデベロッパへの贈り物「Google Toolbox for Mac」 | パソコン | マイコミジャーナル
http://journal.mycom.co.jp/news/2008/02/01/024/index.html

Google Toolbox for Mac
http://kirika.la.coocan.jp/cocoa/3rdlib/google/toolbox/foundation.html

とりあえず以下の Google Code から google-toolbox-for-mac-1-5-1.zip をダウンロード。

google-toolbox-for-mac - Google Code
http://code.google.com/p/google-toolbox-for-mac/

「プロジェクト」-「アクティブなビルド構成を設定」-「TigerOrLater-Release」に変更し、ビルド。

ここまで進めたところで標準のFramework以外の使い方を知らなかったので使い方を以下のサイトでチェックし、なんとか使用できる様になりました。

Use framework - Programming Room - Mac OS X
http://variousible.sakura.ne.jp/Apple/Creating/Tools/Xcode-useFramework.html

早速、Base64エンコードのライブラリを使ってみました。
ウィンドウにボタンを配置し、アクションに以下の様なプログラムを設定しました。

#import "AppController.h"
#import "GoogleToolboxForMac/GTMBase64.h"


@implementation AppController

- (IBAction)run:(id)sender
{
    NSString *str;

    str = [NSString stringWithString:@"TEST"];
    NSLog(@"--Ascii文字だけのとき");
    NSLog(@"Ascii :%@", [GTMBase64 stringByEncodingData:[str dataUsingEncoding:NSASCIIStringEncoding]]);
    
    str = [NSString stringWithString:@"TEST文字列"];
    NSLog(@"--日本語を含む文字列");
    NSLog(@"Ascii :%@", [GTMBase64 stringByEncodingData:[str dataUsingEncoding:NSASCIIStringEncoding]]);
    NSLog(@"EUC-JP:%@", [GTMBase64 stringByEncodingData:[str dataUsingEncoding:NSJapaneseEUCStringEncoding]]);
    NSLog(@"UTF   :%@", [GTMBase64 stringByEncodingData:[str dataUsingEncoding:NSUTF8StringEncoding]]);
}

@end

標準のFrameworkを使うときみたいに

#import "GoogleToolboxForMac/GoogleToolboxForMac.h"

このように書いていてずっとエラーになってちょっとハマりました。こいつはそれぞれ必要なヘッダファイルだけimportして使うみたいです。

出力結果はこんな感じバッチリBase64になってます。

--Ascii文字だけのとき
Ascii :VEVTVA==
--日本語を含む文字列
Ascii :(null)
EUC-JP:VEVTVMq4u/rO8w==
UTF   :VEVTVOaWh+Wtl+WIlw==

日本語を含んだ文字列をAsciiだと言い張って実行すると null になるみたいです。

他にもHTMLやXMLのパーサもあるみたいなのでそちらも色々とチェックしようかと思ってます。

あとソースにiPhone用のFramework作成用のプロジェクトも入っているみたいなのでそちらiPhoneでも使えそうな感じです。

Google Toolbox for Macの解説記事一覧はこちら