iOS開発でBlocksKitを使うよ!(現時点2012/10/24での最新)
github
https://github.com/pandamonia/BlocksKit
別にこんな詳細にやらなくてもいいかなぁって思ったんですけどテキストだけの解説で入れられない人もいたようなので、画像を使ってできるだけわかりやすく導入の流れを書いてみました。何かあったらコメント欄からどうぞ。
またホントはCocoaPodsを使った方がモダンなんだろうなぁと思いつつ、色々な問題がありそうなので普通にダウンロードしていれることにしました。
インストール
参考は↓
BlocksKit
Flameworkとliblaryの2つの入れ方があるんですけど今回はliblaryの方でやってます。
- まずここからBlocksKitをダウンロード(今のバージョンならarmv7sに対応してるようです)
- 解凍するとこんな感じになる
- 自分のプロジェクトに持ってくる。今回はlibBlocksKit.aをプロジェクトディレクトリの直下に、HeadersをVendorというディレクトリをつくってその下にいれました
- TargetのBuild PhasesにあるLink Binary Wity LibraiesにlibBlocksKit.aをドラッグアンドドロップする
- 同じに場所にCoreGraphics, Foundation, MessageUI, UIKitのうち入ってないフレームワークがあったら+ボタンを押して追加しましょう
- Build SettingsにあるOhter Linker Flagsを見つけて"-ObjC -all_load"を追加します
- 同じくBuild SettingsにあるHeader Search Pathsの項目に"$(SRCROOT)/Vendor/Headers"を追加
- prefixに"#import
"を追加する
// // Prefix header for all source files of the 'TestBlocksKit' target in the 'TestBlocksKit' project // #import <Availability.h> #ifndef __IPHONE_5_0 #warning "This project uses features only available in iOS SDK 5.0 and later." #endif #ifdef __OBJC__ #import <UIKit/UIKit.h> #import <Foundation/Foundation.h> #import <BlocksKit/BlocksKit.h> #endif
実装
http://d.hatena.ne.jp/h_mori/20120220/1329691866
実装はここが参考になります。
試しにUIAlertView+BlocksKitだけ試してみます
- (IBAction)pushAlertButton:(id)sender { UIAlertView *alert = [UIAlertView alertViewWithTitle:@"Alert" message:@"UIAlertView Test"]; [alert addButtonWithTitle:@"Action" handler:^(void) { NSLog(@"Action"); }]; [alert addButtonWithTitle:@"Close"]; [alert show]; }
ちゃんと動いているようです。
codeはここに上げておきます。