我创建了一个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