共享swift代码并将代码保存在一个地方[框架/库]

时间:2015-04-30 18:41:24

标签: ios xcode swift frameworks

我想创建一个Swift框架并将其导入到我的其他项目中。显然,我想通过使用相关框架来共享我的代码。 我只能在这里找到一个相关的问题

  

Create and import swift framework

和互联网上的一些教程似乎没有产生任何对我有用的东西。 所以这就是我所拥有的:

  1. 一个XCode项目(由.xcworkspace工作空间生成 CocoaPods)是应该使用的实际应用程序 框架。
  2. 一个“Cocoa Touch Framework”XCode项目就是 框架。
  3. 将框架(2)纳入应用程序(1)的步骤是什么?

    我尝试使用上面链接问题中描述的方法,但在构建时,它说它找不到实际的源文件。

      

    < unknown&gt ;:0:错误:没有这样的文件或目录:'/ path / to / project / MyFrameWork / SomeClass.swift'

    /path/to/project/显然只是一个占位符......

    赏金目标:

      

    提出一个可行的选择,我如何以有效的方式共享一组类。我需要能够轻松地从一个项目中重用代码,并且能够在一个地方维护此代码。它还需要与iOS7兼容,因此动态库可能不适合我。   任何允许我做上述描述的工作流程都将成为赢家。   谢谢

3 个答案:

答案 0 :(得分:2)

为了帮助他人,以下是对我所做的事情的跟进:

由于以下事实 - 在撰写本文时 - 大约81% Apple用户使用iOS8和移动设备,我想我会选择CocoaPods路线。 (我之所以提到这一点,是因为iOS8需要使用动态Swift库)而且因为无论如何我都会重新开始我的项目,我想,为什么不从iOS8开始......

我基本上是通过沿着这些方面做某事来创建一个新的库(注意:CocoaPods需要安装在你的系统上!)

pod lib create <YourLibraryName>

并相应地更改在该过程中创建的.podspec文件的内容。

将源代码添加到为库创建的文件夹(或.podspec文件中指定的source_folder)并从中创建git repo。现在,您可以通过添加

在每个也使用CocoaPods的项目中使用此库
pod 'YourFrameWork', :git => 'https://path/to/your/repo.git'

希望它有所帮助。

答案 1 :(得分:0)

我不知道这是不是答案,但无论如何我都会告诉它。在Xcode中创建框架项目并将其放在github上。然后,您可以使用Carthage

创建框架

答案 2 :(得分:0)

Here是我发现的一个很好的教程。

你需要做什么?

[sudo] gem install cocoapods --pre

.podspec文件

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文件创建到测试项目中,并将以下行添加到其中。

pod '[s.name]', :git => '[s.source]'

在你的情况下:

pod 'MotionKit', :git => 'https://github.com/MHaroonBaig/MotionKit.git'