参考
Alamofire
https://github.com/Alamofire/Alamofire
Alamofire スキーマを選んでシミュレータの iphone5s あたり用にビルドすると、ワークスペース内にある Alamofire.playground 内で import Alamofire
して Alamofire.swift 内の publicな メソッド等が使えるようになります。
他のプロジェクトでやってみる
環境
- Mac OS X 10.10
- Xcode 6.1
対象
Swiftris
https://www.bloc.io/swiftris-build-your-first-ios-game-with-swift
方法
- Swiftris ワークスペースを新たに作成して既存の Swiftris アプリプロジェクトを中にいれる
- 新規の
Cocoa Touch Framework
プロジェクト(名前はとりあえず SwiftrisFramework)を作成して Swiftris ワークスペースに入れる - フレームワークに分離できる swift ファイルを SwiftrisFramework の方に移動する(AppDelegate.swift と GameViewController.swift 以外をとりあえず移動)
- 2 で作成した SwiftrisFramework.xcodeproj を Swiftris ワークスペース内の Swiftris の中に入れる(それ以外のフォルダとかは不要)
- Swiftris の
Build Phases
のTarget Dependencies
に SwiftrisFramework を追加する - Swiftris アプリを ビルドしようとするとたくさんエラーが出るはずで、 これは SwiftrisFramework の方で public になっていないクラスや変数が見えないために出る 。エラーが出るまで変数/クラス/フィールド/メソッド等に
public
を追加、 SwiftrisFramework をビルド、Swiftris アプリをビルド、を繰り返す - Playground の中で使いたいクラス等にも
public
を追加し、SwiftrisFramework をビルドする。 - ワークスペースに Playground ファイルを追加し、以下を書いたらあとは
public
にしたクラス他を Playground 内で使えるようになっているので遊ぶ
import SwiftrisFramework
構造
Swiftris ワークスペース
Playgroundファイル
SwiftrisFramework(フレームワーク)
Swiftris(iOSアプリ)
SwiftrisFramework.xcodeproj(上のフレームワークのプロジェクトファイルのみ、設定で SwiftrisFramework を参照するために必要)
まとめ
- 分かんなかったら Alamofire を参考にすればいいと思います(適当)
- 単にプロジェクト内の swift のクラスとかを Playground で使いたいだけなんですけどもっといい方法ないんでしょうか…?