依存性注入フレームワークにTyphoonライブラリを使用しています。このライブラリのインストールにはCocoaPod
を使用します。これが私のポッドファイルです:
target "typhoon-Swift-demo" do
pod 'Typhoon'
end
target "typhoon-Swift-demoTests" do
end
正常にインストールされましたが、ワークスペースプロジェクトファイルを開いたとき。これらのコード行をTyphoonサンプルコードとして入力します。
public class ApplicationAssembly: TyphoonAssembly {
}
アプリケーションがTyphoonAssembly
を認識しないというエラーが発生しました。次のような行を使用しようとしました。
import Typhoon // not recogize typhoon
import TyphoonAssembly // not regconize
この問題を解決する方法を教えてください。ライブラリを使用する前に何を追加する必要がありますか。ありがとう:)
SwiftではなくObjective-Cを使用してポッドヘッダーファイルをインポートする必要があります。したがって、CocoaPodsをSwiftで使用する場合は、2つの言語を混合することになります。 これは素晴らしいチュートリアルです これを達成する方法について。
Quarkの答えに加えて、 Typhoon Swift example は、Swift andCocoaPodsで使用するためにTyphoonを設定する方法を示しています。
現在ほとんどすべての場所でデフォルトとなっている「アプリケーションスタイル」のテストを使用している場合、テストターゲットにはすでにメインターゲットの依存関係が暗黙的に含まれていることに注意してください。したがって、テストターゲットは排他的であると宣言する必要があります。例:
platform :ios, '7.0'
target :PocketForecast, :exclusive => true do
pod 'Typhoon', :head
pod 'CKUITools'
pod 'ICLoader'
pod 'NGAParallaxMotion'
pod 'NSURL+QueryDictionary'
pod 'OCLogTemplate'
pod 'PaperFold', :git => 'https://github.com/jasperblues/PaperFold-for-iOS.git', :tag => '1.2-no-gesture-recognizers'
end
target :PocketForecastTests do
pod 'Expecta', '~> 0.2.1'
pod 'OCHamcrest'
pod 'OCMockito'
end
inhibit_all_warnings!
テストターゲットが排他的であると宣言されていない場合、アプリケーションのすべてのライブラリが2回リンクされます。これは、多くの内省を使用するため、Typhoonの場合に問題を引き起こす可能性があります。
また、サンプルアプリケーションには、次のようなブリッジヘッダーがあることに注意してください。
#import "Typhoon.h"
台風Swift例:
これは更新が必要だと思います。私は最近Swiftアプリケーションの開発を開始し、Javaの背景から、Springのようなフレームワークを検索しました。私が見つけた最高のものはTyphoonです。私はしませんでした。しかし、初心者のための良い紹介を見つけることができなかったので、私はそれを試すためにスクラッチプロジェクトを作成しました。
私は統合しました 台風 によって:
議会では、
import Typhoon
public class MyAssembly:TyphoonAssembly{}
チャームのように機能します!
あなたもこのエラーに遭遇しました。
方法で修正しました:=>「platform:ios、 'x.0'」を削除します
use_frameworks!ターゲット 'LateManagement' do pod'Alamofire 'pod'SwiftyJSON' end