2016-04-26 8 views
1

​​ガイドの後にSwiftフレームワークを作成しました。これはクライアントアプリケーションで動作し、テストすることもできます。Carthageのフレームワークでフレームワークを使用するにはどうすればよいですか?

これまでのところ、とても良いです。

フレームワークにフレームワークを追加すると、次のようになります。 JASON、表示されないため、コードにインポートできません。

error: no such module 'JASON' 
import JASON 
    ^

興味深いことに、私のユニットテストターゲットでフレームワークをインポートできます。私はそれがほしい、必要な場所ではありません。

また、カーセージのadviceに加えて、ロボットのadviceに従っています。

アイデア?

答えて

1

依存関係としてフレームワークを別のフレームワークプロジェクトに追加することは、Carthageでうまくいきます。私は家庭で自分のプロジェクト(Objective-C)と仕事(Swift)でそれをやった。

このトリックは、あなたのアプリにプロジェクトを追加するときです。私が見つけた最良の方法はフラットなモデルを使うことです。すなわち、フレームワークを埋め込んだり、何らかの形で入れ子にしたりしないでください。 Carthageに、トップレベルのフレームワークと、それが依存するフレームワークをすべて同じレベルに持って来らせましょう。次に、* .frameworkファイルをあなたのアプリケーションプロジェクトにドラッグし、carthage copy-frameworksコマンドを使用して別のビルドステップで追加します。

+0

私はCarthageがCartfile.privateを指定して、最良のフレームワークができなければならないという事実を考えます。それがフレームワークをテストするだけのものでない限り、ドキュメントではそうは言いません。 –

+0

@drekkaあなたのココアタッチフレームワークには 'carthage copy-frameworks'コマンドが必要ですか?それとも、あなたのフレームワークを埋め込んだアプリですか? – Kuba

関連する問題