我想创建一个共享的Swift库a.k.a。Cocoa框架在我的两个iOS应用程序之间共享。我不是一个全职的iOS开发人员,所以我在XCode等方面有很多空白。
我找到了这篇创建第一个iOS框架文章,认为我在家是免费的:-)。可悲的是,我无法让它发挥作用,主要是因为我不知道我想做什么。
我只想在我的两个应用程序之间创建一个共享Swift代码的(私有)框架(库)。我希望在框架中使用CocoaPods来引入其他框架,比如Alamofire。我无意公开这个架构。
我几乎不明白为什么人们会使用迦太基(vs. . CocoaPods)作为管理框架并将其导入消费应用程序的机制。但是,这个例子混合了迦太基和CocoaPods,并建立了一个我不想要的Podspec,这让我感到困惑。
在这篇文章中,一般子项目的概念,以及将迦太基下载的框架拖到框架中,以及在消费应用中“导入”共享框架本身,这些都让我感到困惑。我想知道我为什么要这么做,它的后果是什么。
我是不是走错路了?有没有人有一个大脑死亡的简单配方,可以私下在两个相关应用程序之间共享、Swift、代码和其他构件?
有人能解释这个理论吗?
当我想到重复代码的时候,我几乎没有时间去做我的应用程序和爬行,所以我浪费了无数个小时去寻找简单的指南,更多的时间试图跟随我发现的那些--所有这些都是令人失望的结果。
任何帮助都将不胜感激。
谢谢彼得。
发布于 2016-07-20 02:16:10
我建议您使用Carthage,因为它要简单得多,并且不会对项目文件施加任何限制。我无法帮助您完成CocoaPods,因为我从未使用过它,我将指导您完成迦太基所需的步骤:
.gitignore文件。如果您在项目目录中,可以这样做:
卷曲https://raw.githubusercontent.com/github/gitignore/master/Swift.gitignore > .gitignorepublic声明在框架之外可用。Shared。这是迦太基工作所必需的。您的框架现在应该设置为与迦太基一起工作。您可以按照这里步骤将框架添加到iOS项目中:
Carthage (没有扩展名)的文件),您可以为此使用Xcode。该文件应包含以下内容:
git "file:///path/to/your/framework/project/directory“github "Alamofire/Alamofire”#其他框架Carthage/Build/iOS文件夹(在Finder中),并将每个.framework文件拖放到项目设置(General选项卡)的Linked Frameworks and Libraries部分。Run Script阶段(项目设置>构建阶段> "+“按钮)。把线放上去
/usr/local/bin/carthage副本-框架
并将每个框架添加到“输入文件”部分:
$(SRCROOT)/Carthage/Build/iOS/MyFramework.framework $(SRCROOT)/Carthage/Build/iOS/Alamofire.framework如果你被困在某个地方,请告诉我。
编辑:当您对库进行更改时,您可以这样做:
git tag 0.2 -m "Version 0.2"在使用该框架的项目中,只需运行carthage update --platform iOS,其他什么都不用做。
如果您的框架也需要使用Alamofire,它需要与其他项目相同的Cartfile设置。在运行carthage update时,Carthage将解决每个框架及其子框架等所需的所有子框架。
如果一个Cartfile想要"Alamofire" ~> "1.0",另一个"Alamofire" ~> "2.0"需要冲突,那么可能会发生冲突,但这种情况很少发生。
https://stackoverflow.com/questions/38470517
复制相似问题