TyphooonFrameworkをインストールしてみる
January 24, 2015
プライベートで開発しているアプリをswiftで実装中だが、テストをどうやってやろうかを試行錯誤中。アプリのテスト自体に慣れてないのに加えて、Objective-cのツールが使えたり使えなかったりと、情報収集しながらやってるとアプリの開発自体が進まないという蟻地獄状態に・・まぁこれも今後の肥やしになると思い、自分の中のベストプラクティスを模索していって辿り着いたのが本題のTyphooonFramework
(本題までが長い・・・)ドキュメントをみる限りでは、Objective-c, Swift両方に対応したDIのフレームワークとのこと。どうやって利用していくかは、試行錯誤して、自分の中に腹落ちしたら別途まとめたいと思う。なので、まずは導入から。
参考
https://github.com/appsquickly/Typhoon/wiki/Swift-Quick-Start
概要
基本的に上記URLの通りにやっていく。
- git submoduleでソースを自分のプロジェクトに取り込む
git submodule add https://github.com/typhoon-framework/Typhoon.git
を実施。自分の場合は、Vendor
というフォルダを作成して、そこにライブラリをまとめているので、下記のコマンドを実施した。
git submodule add https://github.com/typhoon-framework/Typhoon.git Vendor/Typhoon
Typhooon.xcodeproj
を自分のプロジェクトに追加する
場所は自由で、自分の場合は、テストでも利用したかったので、テスト用のtagetにも追加した。
Build Phases
のTarget Dependencies
にTyphooon.framework
を追加する
+をクリック
Typhoon
を選択し、Addをクリック
該当の箇所に追加されていればOK
Build Phases
にNew Copy Files Phase
を追加する
- 追加した
New Copy Files Phase
をCopy Frameworks
にリネームする(ここはやらなくてもいい) - 追加した
New Copy Files Phase
でDestination
をFrameworks
に設定する - 追加した
New Copy Files Phase
でTyphooon.framework
を追加する
before
after
TyphoonBlockComponentFactory.m
でUIKitをimportする
設定の項目にも特に記載がないのか、自分が見落としているかは不明だが、上記の手順だけだとビルドエラーになる。エラー内容を見て、UIDeviceが利用できないというエラーだったので、UIKitをimportしたら解決した。とりあえず、試行錯誤中なので、これで利用していこうと思う。恒久的に利用する場合は、ソースに手を入れない方法を探してみる予定。
diff --git a/Source/Factory/Block/TyphoonBlockComponentFactory.m b/Source/Factory/Block/TyphoonBlockComponentFactory.m
index 0917054..a272493 100644
--- a/Source/Factory/Block/TyphoonBlockComponentFactory.m
+++ b/Source/Factory/Block/TyphoonBlockComponentFactory.m
@@ -9,7 +9,7 @@
//
////////////////////////////////////////////////////////////////////////////////
-
+#import <UIKit/UIKit.h>
#import "TyphoonMethod+InstanceBuilder.h"
#import "TyphoonBlockComponentFactory.h"
最後に
とりあえず、ビルドは通るようになったので、今後、テスト時にライブラリをmockに差し替えるというのをやってみたい。というより、それがやりたくてのDI導入だったりするので・・サンプルのプロジェクトがあって一通りの実装については、それを見れば良さそうなので、色々試行錯誤してみようと思う。