如何使用Cocopods分发编译框架?

时间:2018-03-23 12:59:19

标签: ios swift frameworks cocoapods

我正在使用cocoapods构建一个框架。现在,我将它放在具有私有规格仓库的私有存储库中。我想分发这个框架不是开源,而是封闭源代码。基本上,我只想分发已编译的.framework文件。这样,我将避免将我的源代码暴露给外部。 我不知道如何告诉cocoapods分发编译文件。你能帮我吗?

3 个答案:

答案 0 :(得分:1)

编译框架后,您需要创建一个单独的公共存储库以用于分发。您可以在此处放置已编译的框架,podspec,许可证,自述文件等。

podspec对于分发框架而不是源代码有点不同。见例:

Pod::Spec.new do |s|  
    s.name              = 'YourFrameworkName'
    s.version           = '1.7.0'
    s.summary           = 'The YourFrameworkName iOS SDK enables you to embed state-of-the-art real-time goodness into your iOS app.'
    s.homepage          = 'http://example.com'

    s.author            = { 'Name' => 'info@example.com' }
    s.license           = { :type => 'Custom', :file => 'LICENSE' }

    s.platform          = :ios
    s.source            = { :http => 'https://github.com/example/YourFrameworkName/releases/download/1.7.0/YourFrameworkName.zip' }

    s.ios.deployment_target = '9.0'
    s.ios.vendored_frameworks = 'YourFrameworkName.framework'

    s.dependency 'SwiftyJSON', '3.1.4'
end

完成所有设置后,您可以正常方式发布pod规范。

请记住,这是一个重要的考虑因素,用Swift编写的编译框架只能在使用 完全相同的 Swift版本的项目中使用。当人们开始在具有各种Swift版本的不同项目中使用您的框架时,您将很快遇到此限制。

答案 1 :(得分:0)

  1. 首先,您创建一个示例项目并为项目安装pod(要作为 SDK.framework 发布的库)。
  2. 然后查看下面附带的图片,以便将 .framework 扩展文件分发给公众。

    enter image description here enter image description here

答案 2 :(得分:0)

您可以通过将s.source文件中的podspec指向框架及其源代码的zip文件来实现。无需在公共资源库中公开您的源代码。

例如。

spec.source = { :http => 'https://bitbucket.org/publicRepo/yourframework.zip' }