我創建了一個CocoaPod,比如說MyPod
,它依賴於另一個Cocoapod,比如RxSwift
。在開發CocoaPod時使用CocoaPod依賴項
所以我有這樣的MyPod.podspec
:
s.dependency "RxSwift", "~> 3.0.1"
然而,儘管發展MyPod
,我怎麼能實際使用的依賴?
import RxSwift
// ^
// No such module 'RxSwift'
public class MyClass { //...
有沒有我失蹤的一步,或一些常見的約定?看起來像Moya等其他項目正在使用Carthage在開發過程中構建依賴關係。我應該這樣做,或者可以添加一個Podfile
?
我知道這對於位於回購協議中的示例應用程序應該不是問題,該示例應用程序將擁有自己的Podfile
。但是,我仍想在示例應用程序之外的頂級測試中進行測試,並且能夠在示例應用程序之外再次對其進行構建時實際構建框架。
感謝您的徹底解答。但是,我認爲你錯過了我的問題的最後一部分,我說我不想通過ExampleApp進行開發(甚至根本不需要開發),我想在框架的頂層進行我的測試本身。我希望我的ExampleApp(如果我甚至有)只是爲了展示如何使用框架。它不應該包含任何必要的東西,比如測試。它應該能夠被刪除而不用擔心。 – solidcell
我鼓勵你克隆我創建的回購。您會注意到示例應用程序根本不需要,它確實可以刪除。像你說的那樣,你在'發展莢'中做所有的發展。另外,您確實可以針對該窗格編寫單元測試。單元測試目標可以簡單地將pod作爲依賴項,並且可以使用TESTABLE將私有方法公開到測試中。隨意克隆它,並嘗試刪除示例。請注意,您仍然需要一個Podfile,但這本身就可以。 – ericWasTaken
最終,主要的收穫是你仍然需要一個額外的'Podfile'來讓框架能夠自行構建。至於你的回購,我試圖建立它,但我得到了大量的Xcode問題。找不到文件(紅色),然後在我嘗試構建時在'../ build'中添加一個構建文件夾。如果我關閉並再次打開它,它會爲每個方案創建一個複製方案:每個方案都有「___ 2」。沒問題,因爲我已經和你一樣解決了這個問題('Podfile'),所以把項目設置的差異放在一邊。 – solidcell