我正在使用cocoapods构建一个框架。现在,我把它放在一个私有的仓库里,还有一个私有的规范仓库。我希望这个框架不是开源的,而是闭源的。基本上,我只想分发已经编译的.framework文件。这样,我将避免向外部公开我的源代码。我不知道如何告诉cocoapods分发编译后的文件。
发布于 2018-03-23 22:54:03
在编译框架之后,您需要创建一个单独的公共存储库以用于分发。这是您将放置已编译的框架、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版本的不同项目中使用你的框架时,你很快就会遇到这个限制。
发布于 2018-03-23 22:21:25


发布于 2019-11-19 23:17:15
您可以通过将podspec文件的s.source指向框架及其源代码的压缩文件来完成此操作。不需要在公共存储库中公开源代码。
例如。
spec.source = { :http => 'https://bitbucket.org/publicRepo/yourframework.zip' }https://stackoverflow.com/questions/49450249
复制相似问题