我正在使用cocoapods构建一个框架。现在,我将它放在具有私有规格仓库的私有存储库中。我想分发这个框架不是开源,而是封闭源代码。基本上,我只想分发已编译的.framework文件。这样,我将避免将我的源代码暴露给外部。 我不知道如何告诉cocoapods分发编译文件。你能帮我吗?
答案 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)
答案 2 :(得分:0)
您可以通过将s.source
文件中的podspec
指向框架及其源代码的zip文件来实现。无需在公共资源库中公开您的源代码。
例如。
spec.source = { :http => 'https://bitbucket.org/publicRepo/yourframework.zip' }