因爲的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符號。 –