我想创建一个Swift框架并将其导入到我的其他项目中。显然,我想通过使用相关框架来共享我的代码。 我只能在这里找到一个相关的问题
和互联网上的一些教程似乎没有产生任何对我有用的东西。 所以这就是我所拥有的:
将框架(2)纳入应用程序(1)的步骤是什么?
我尝试使用上面链接问题中描述的方法,但在构建时,它说它找不到实际的源文件。
< unknown&gt ;:0:错误:没有这样的文件或目录:'/ path / to / project / MyFrameWork / SomeClass.swift'
/path/to/project/
显然只是一个占位符......
提出一个可行的选择,我如何以有效的方式共享一组类。我需要能够轻松地从一个项目中重用代码,并且能够在一个地方维护此代码。它还需要与iOS7兼容,因此动态库可能不适合我。 任何允许我做上述描述的工作流程都将成为赢家。 谢谢
答案 0 :(得分:2)
为了帮助他人,以下是对我所做的事情的跟进:
由于以下事实 - 在撰写本文时 - 大约81% Apple用户使用iOS8和移动设备,我想我会选择CocoaPods路线。 (我之所以提到这一点,是因为iOS8需要使用动态Swift库)而且因为无论如何我都会重新开始我的项目,我想,为什么不从iOS8开始......
我基本上是通过沿着这些方面做某事来创建一个新的库(注意:CocoaPods需要安装在你的系统上!)
pod lib create <YourLibraryName>
并相应地更改在该过程中创建的.podspec
文件的内容。
将源代码添加到为库创建的文件夹(或.podspec文件中指定的source_folder
)并从中创建git repo。现在,您可以通过添加
pod 'YourFrameWork', :git => 'https://path/to/your/repo.git'
希望它有所帮助。
答案 1 :(得分:0)
我不知道这是不是答案,但无论如何我都会告诉它。在Xcode中创建框架项目并将其放在github上。然后,您可以使用Carthage
创建框架答案 2 :(得分:0)
Here是我发现的一个很好的教程。
[sudo] gem install cocoapods --pre
Pod::Spec.new do |s|
s.name = 'MotionKit'
s.version = '0.6'
s.license = 'MIT'
s.summary = 'CoreMotion Made insanely simple'
s.homepage = 'https://github.com/MHaroonBaig/MotionKit'
s.social_media_url = 'https://twitter.com/PyBaig'
s.authors = { 'Haroon Baig' => 'haroon.prog@gmail.com' }
s.source = { :git => 'https://github.com/MHaroonBaig/MotionKit.git', :tag => s.version }
s.ios.deployment_target = '8.0'
s.source_files = 'MotionKit/*.swift'
s.requires_arc = true
end
现在是时候测试你的pod,以确保它正常工作。快速将pod文件创建到测试项目中,并将以下行添加到其中。
pod '[s.name]', :git => '[s.source]'
在你的情况下:
pod 'MotionKit', :git => 'https://github.com/MHaroonBaig/MotionKit.git'