Swift:无法使用Pod文件中的库

我正在使用Typhoon库进行dependency injection框架。 我使用CocoaPod来安装这个库。 这是我的pod文件:

 target "typhoon-swift-demo" do pod 'Typhoon' end target "typhoon-swift-demoTests" do end 

我已经成功安装,但是当我打开工作区项目文件。 我input那些代码行作为台风样本代码:

 public class ApplicationAssembly: TyphoonAssembly { } 

我遇到错误,我的应用程序不承认TyphoonAssembly我试图使用一些行,如:

 import Typhoon // not recogize typhoon import TyphoonAssembly // not regconize 

请告诉我如何解决这个问题。 我可以使用库之前应该添加什么? 谢谢 :)

你必须使用Objective-C而不是Swift导入Pod头文件。 所以如果你想用Swift来使用CocoaPods,你将会混合两种语言。 这里有一个关于如何完成这个的很好的教程 。

除了Quark的回答外, “台风雨燕”的例子还展示了如何搭配台风与Swift和CocoaPods一起使用。

请注意,如果您正在使用“应用程序样式”testing(现在几乎到处都是默认testing),那么testing目标已经隐含地具有主要目标的依赖关系。 因此testing目标应被宣布为独占。 例:

 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! 

如果testing目标没有被声明为独占的,那么它将把应用程序的所有库链接两次。 这可能会在台风的情况下造成问题,因为它使用了很多内省。

在示例应用程序中还要注意,有一个桥接头,其中包括:

 #import "Typhoon.h" 

台风Swift例子:

在这里输入图像说明

我认为这需要更新。 我最近开始开发Swift应用程序,来自Java背景,寻找像Spring这样的框架。 我发现的最好的是台风。 然而,我没有find一个好的介绍新手,所以我做了一个临时项目来尝试一下。

我通过以下方式整合了台风 :

  1. 安装cocoapods
  2. 使用“use_frameworks!”创build一个基本的podfile 像这里一样
  3. 荚安装
  4. 添加“TyphoonInitialAssemblies”数组到我的plist文件
  5. 创build第一个程序集并将其添加到plist中的数组

在组装中,

 import Typhoon public class MyAssembly:TyphoonAssembly{} 

奇迹般有效!

你甚至遇到这个错误。

我通过以下方式修复:=>删除“platform:ios,'x.0'”

use_frameworks! target'LateManagement'做pod'Alamofire'pod'SwiftyJSON'结束