因为的CocoaPods 0.36是availbable任何人,而现在他们正在与雨燕和框架来支持我有一个疑问,今天困扰着我......老图书馆,新的CocoaPods
我在我的项目目录中创建Podfile
与填充:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
pod 'AFNetworking'
pod 'SwiftyJSON'
和运行pod install
像往常一样......你知道这个故事。但是,当我打开我的.xcworkspace
并去任何ViewController和import SwiftyJSON
它只是工作,但当我尝试做AFNetworking同样的事情时,我得到No such module 'AFNetworking'
。当然,我可以创造一个桥接报头,并与Objective-C的方式导入,但是当我读到this博客文章中,我可以看到:
要使用此subspec斯威夫特,没有产生伞头,你需要创建一个桥接头并使用像
#import <AFNetworking/AFNetworking+UIKit.h
这样的导入。使用生成的伞 标题,只需要import AFNetworking
,如果您的Podfile中包含子类别 。
纠正我,如果我错了,但我想如果我们添加库与CocoaPods不再需要手动桥接头,对吧?那么,为什么这不起作用?
从您阅读该文档,您是否看到使用cocoapods自动生成的伞文件作为您在* Obj-c *项目中使用的首选方法的方法? IE浏览器。配置cocoapods生成桥接报头为'AFNetworking.h'而不是'Pods-iOS Example-AFNetworking-umbrella.h',这样它就会始终跟踪公共报头集合 - 一个“单一事实点”?从我的阅读中,它仅用于Swift代码的可见性。 –
雨伞头部是为Swift创建的。因此,没有必要将它用于Objective-C项目...为什么你会这样?我只是在混合项目中挣扎,我写的主要语言是Swift,而一些Pods可以是Objective-C库。 – cojoj
伞形文件是一个与框架有关的概念,并且fameworks也是Obj-c的新成员。伞文件只是框架中所有公共头文件的总结,并且是'#import'中的'MyFramework.h'。在引擎盖下,cocoapods生成一个新的唯一命名的伞文件,并将其注册到模块映射中,以便通过“@import MyFramework”使其可用。这个命名和约定是https://github.com/CocoaPods/CocoaPods/issues/3092中讨论的主题。这就是Swfit和Obj-c代码如何找到Obj-c符号。 –