要分发闭源 pod,您首先需要修改您的私有存储库,以便您可以生成 .xcframework 文件。
通过 URL 分发
您必须压缩 .xcframework 文件并通过 URL 将其提供给您的受众。 (无论是公开的还是私有的)
然后你可以像这样创建一个.podspec 文件:
Pod::Spec.new do |s|
s.name = '<POD_NAME>'
s.version = '<VERSION>'
s.summary = '<SUMMARY>'
s.description = <<-DESC
<DESCRIPTION>
DESC
s.homepage = '<A_URL_TO_A_WEBPAGE>'
s.author = { '<AUTHOR_NAME>' => '<AUTHOR_EMAIL>' }
s.source = { :http => '<URL_TO_YOUR_ZIP_FILE>' }
...
s.vendored_frameworks = '<PATH_OF_XCFRAMEWORK_FILE_IN_THE_ZIP>.xcframework'
end
之后有两种分发方法:
-
Public:如果你想通过 cocoapods specs repo 分发你的 pod,你可以将你的 .podspec 文件推送到 cocoapods
主干关注this指南:
pod trunk push <PATH_TO_YOUR_PODSPEC_FILE>.podspec
用户的安装将与任何其他 pod 一样:
use_frameworks!
target 'TargetName' do
pod '<POD_NAME>'
end
私人:对于私人分发,请关注thisquide,创建一个
私有规范 repo 并使用以下命令推送您的 podspec:
pod repo push <REPO_NAME> <PATH_TO_YOUR_PODSPEC_FILE>.podspec
用户的安装将是这样的:
use_frameworks!
target 'TargetName' do
pod '<POD_NAME>', :source => '<PRIVATE_SPECS_REPO_URL>'
end
-
公开:如果您不介意 cocoapods 规格回购(或者如果您
想测试你的.podspec 文件)你可以制作你的.podspec 文件
通过 URL 公开可用,然后指示用户使用
podspec 方式在他们的Podfile 中安装您的 pod:
use_frameworks!
target 'TargetName' do
pod '<POD_NAME>', podspec: '<URL_TO_YOUR_PODSPEC_FILE>.podspec'
end
私有:同样的方法也适用于私有分发,
只要您的用户是唯一知道或有权访问的用户
podspec URL。
通过 Github 存储库分发
虽然我不建议将二进制文件(即.xcframework)提交到 git 存储库中,但您几乎可以使用 git 存储库执行相同操作,但无需压缩您的 .xcframework 文件。
创建一个 git 存储库并添加 .xcframework 文件和一个 .podspec 文件,如下所示:
Pod::Spec.new do |s|
s.name = '<POD_NAME>'
s.version = '<VERSION>'
s.summary = '<SUMMARY>'
s.description = <<-DESC
<DESCRIPTION>
DESC
s.homepage = '<A_URL_TO_A_WEBPAGE>'
s.author = { '<AUTHOR_NAME>' => '<AUTHOR_EMAIL>' }
s.source = { :git => '<URL_TO_YOUR_GIT_REPO>.git', :tag => s.version.to_s }
...
s.vendored_frameworks = '<PATH_OF_XCFRAMEWORK_FILE_IN_THE_REPO>.xcframework'
end
Public:然后你可以通过 cocoapods specs repo 分发你的 pod,方法是将你的 .podspec 文件推送到 cocoapods 主干,如下所示:
pod trunk push <PATH_TO_YOUR_PODSPEC_FILE>.podspec
私有:对于私有分发,您可以创建私有规范存储库并使用以下命令推送您的 podspec:
pod repo push <REPO_NAME> <PATH_TO_YOUR_PODSPEC_FILE>.podspec