【问题标题】:Use Cocoapods for private iOS Framework将 Cocoapods 用于私有 iOS 框架
【发布时间】:2017-05-06 08:48:16
【问题描述】:

我正在开发一个 iOS 框架,我想让其他开发人员可以通过将它们包含在他们的 Podfile 中来集成到他们的“客户端”应用程序中,例如:

pod 'MyFramework'

但由于某些许可限制,我无法分享它的实际源代码。我在网上找到的用于开发 iOS 框架和设置其 podspec 文件的示例通常指向 github 或其他存储库,这似乎使开发人员的应用程序运行后可以使用源代码:

pod install

我必须与开发人员共享我的框架的源代码吗?确保我可以共享 MyFramework.framework 但不能共享其源代码的最佳方法是什么(在 cocoapods 中的框架设置和其 Podfile 中的客户端应用程序上)? 请注意,我在这个项目中使用的是 Swift 3。

谢谢

al


Podfile(客户端):

target 'TestSDK' do
  # Comment the next line if you're not using Swift and don't want to use dynamic frameworks
  use_frameworks!
pod 'MySDK', :path => '/path/to/SDK/'
  # Pods for TestSDK
end

MySDK.podspec:

Pod::Spec.new do |s|  
    s.name              = 'MySDK'
    s.version           = '1.0.0'
    s.summary           = 'A really cool SDK that logs stuff.'
    s.homepage          = 'http://example.com/'

    s.author            = { 'Name' => 'sdk@example.com' }
    s.license           = { :type => 'Apache-2.0', :file => 'LICENSE' }

    s.platform          = :ios
s.source = { :http => 'https://bitbucket.org/username/reponame/src/master/MySDK.zip' }
    s.ios.deployment_target = '9.3'
    s.ios.vendored_frameworks = 'MySDK.framework'
end  

【问题讨论】:

  • 谢谢@New16。我会通过它,如果你不介意,如果我有任何其他问题,我会告诉你。
  • 我想我快到了.. 但是测试项目仍然在 Pods > Development Pods > FRAMEWORK_NAME 下显示源代码
  • 我将包含我的框架的 zip 文件上传到了 bitbucket 存储库而不是网站,我最初很难在 podspec 中获取我应该用于它的 URL,但后来我得到了它,但是源代码仍然显示在演示项目中。
  • Development Pods 适用于团队。请出示 podspec 文件。

标签: ios frameworks swift3 cocoapods private


【解决方案1】:

希望这对其他人有所帮助。我最终通过托管包含框架的 zip 文件以及我的 README.md 和 LICENSE(以及后来的 CHANGELOG.md)来解决这个问题,并将 podspec 的 s.source 指向它。我现在唯一的问题是在 cocoapods.org 上,它显示该语言是 Objective-C 而不是 Swift,但我认为这应该是一个简单的解决方法。否则,我现在可以将框架放在主干上并在客户端应用程序中使用 Pod MySDK。

【讨论】:

  • 感谢@New16 的帮助。不确定您是否了解该语言设置,但我通过跟随您的领导并进行更多研究使私人 pod 正常工作:)
猜你喜欢
  • 1970-01-01
  • 2019-12-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-09
  • 2014-09-07
  • 2017-10-23
  • 2017-08-08
相关资源
最近更新 更多