我正在使用Typhoon库进行依赖注入框架。我使用CocoaPod
来安装此库。这是我的pod文件:
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
请告诉我如何解决这个问题。在使用库之前我应该添加什么。谢谢:))
答案 0 :(得分:13)
您必须使用Objective-C而不是Swift导入Pod头文件。因此,如果您想将CocoaPods与Swift一起使用,那么您将混合使用这两种语言。 Here's a great tutorial关于如何实现这一目标。
答案 1 :(得分:3)
除Quark的答案外,The Typhoon Swift example还展示了如何设置Typhoon以供Swift和CocoaPods使用。
请注意,如果您正在使用“应用程序样式”测试,这几乎是现在的默认测试,那么测试目标已经隐式具有主目标的依赖关系。因此,应将测试目标声明为独占。示例:
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!
如果测试目标未被声明为独占,则它将所有应用程序的库链接两次。这可能会引起Typhoon案件的问题,因为它使用了很多内省。
在示例应用程序中还要注意,有一个桥接头,包括:
#import "Typhoon.h"
Typhoon Swift示例:
答案 2 :(得分:2)
我认为这需要更新。我最近开始开发Swift应用程序,并且来自Java背景,搜索了像Spring这样的框架。 我找到的最好的是台风。然而,我没有找到新手的好介绍,所以我做了一个临时项目试试。
我将Typhoon整合为:
答案 3 :(得分:1)
您甚至遇到了此错误。
我通过以下方式修复: =>删除“platform:ios,'x.0'”
use_frameworks! 目标'晚期管理'做 pod'Alamofire' pod'SwiftyJSON' 端