Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Swift:无法使用Pod文件中的库_Ios_Swift_Cocoapods_Typhoon - Fatal编程技术网

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

Ios Swift:无法使用Pod文件中的库,ios,swift,cocoapods,typhoon,Ios,Swift,Cocoapods,Typhoon,我正在使用Typhone库作为依赖注入框架。我使用CocoaPod安装此库。这是我的pod文件: target "typhoon-swift-demo" do pod 'Typhoon' end target "typhoon-swift-demoTests" do end 我已成功安装,但在打开工作区项目文件时。我键入这些代码行作为台风示例代码: public class ApplicationAssembly: TyphoonAssembly { } 我遇到一个错误,我的应

我正在使用Typhone库作为依赖注入框架。我使用
CocoaPod
安装此库。这是我的pod文件:

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

target "typhoon-swift-demoTests" do

end
我已成功安装,但在打开工作区项目文件时。我键入这些代码行作为台风示例代码:

public class ApplicationAssembly: TyphoonAssembly {

}
我遇到一个错误,我的应用程序无法识别
TyphonaAssembly
我尝试使用一些行,例如:

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

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

您必须使用Objective-C而不是Swift导入Pod头文件。因此,如果您想将CocoaPods与Swift结合使用,您将混合使用这两种语言。关于如何做到这一点。

除了Quark的答案之外,还展示了如何设置台风,以便与Swift和Cocoapod一起使用

请注意,如果您正在使用“应用程序样式”测试,这几乎是现在所有地方的默认测试,那么测试目标将已经隐式地具有主目标的依赖项。因此,测试目标应该声明为独占的。例如:

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!
如果测试目标没有声明为独占的,那么它将使应用程序的所有库链接两次。这在台风的案例中可能会引起问题,因为它使用了大量的内省


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

#import "Typhoon.h"

台风雨燕示例:


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

我是通过以下方式整合的:

  • 安装
  • 使用“use_frameworks!”行创建一个基本的podfile
  • 吊舱安装
  • 将“typhoninitialassemblies”数组添加到我的plist文件
  • 创建第一个程序集并将其添加到plist中的数组中
  • 在大会上

    import Typhoon
    
    public class MyAssembly:TyphoonAssembly{}
    

    工作起来很有魅力

    您甚至遇到了这个错误

    我顺便说一下: =>删除“平台:ios,'x.0'”

    使用你的框架! 目标“管理层”做什么 阿拉莫菲尔吊舱 吊舱“迅捷JSON”
    结束

    谢谢:)我已经阅读了该项目的pod文件,但我不明白作者为什么要这样写。现在我可以清楚地理解:D您的库+演示非常棒,不仅对于这个框架库,而且对于尝试学习ios编程的人来说也是如此:):)您是否可以在Podfile中添加一条注释来解释上述内容,并发送一个pull请求?似乎我们应该包括这个解释。很好:D非常感谢:D它花费了我大量的时间:D只是因为我想在学习任何基本的东西之前直接跳到swift上:D这个对我来说不适用。这个更好