Nit*_*ish 6 github ios cocoapods
我有一个带有代码的存储库,我不想与其他人共享。但我想要一个其他人可以集成到他们的应用程序中的 Pod。那可能吗 ?我按照本教程进行操作,但在尝试将其添加到不同的系统上时出现错误:
无法找到“pod_name”的规范。
这是 pod 文件:
# Uncomment the next line to define a global platform for your project
#platform :ios, '9.0'
source 'https://github.com/my_source_url'
target 'DemoPods' do
# Comment the next line if you don't want to use dynamic frameworks
use_frameworks!
# Pods for DemoPods
pod 'MyPodName'
end
Run Code Online (Sandbox Code Playgroud)
我的用例:
要分发闭源 Pod,您首先需要修改您的私有存储库,以便可以生成文件.xcframework。
您必须压缩该.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
Run Code Online (Sandbox Code Playgroud)
之后有两种方法可以分发它:
Public:如果您想通过 cocoapods specs repo 分发您的 pod,您可以按照本.podspec指南将您的文件推送到 cocoapods trunk :
pod trunk push <PATH_TO_YOUR_PODSPEC_FILE>.podspec
Run Code Online (Sandbox Code Playgroud)
用户的安装将与任何其他 pod 一样:
pod trunk push <PATH_TO_YOUR_PODSPEC_FILE>.podspec
Run Code Online (Sandbox Code Playgroud)
Private:对于私有分发,请遵循本指南,创建私有规范存储库并使用以下命令推送您的 podspec:
pod repo push <REPO_NAME> <PATH_TO_YOUR_PODSPEC_FILE>.podspec
Run Code Online (Sandbox Code Playgroud)
用户的安装将如下所示:
use_frameworks!
target 'TargetName' do
pod '<POD_NAME>'
end
Run Code Online (Sandbox Code Playgroud)
公开:如果您不介意 cocoapods 规范存储库(或者如果您想测试您的.podspec文件),您可以.podspec通过 URL 公开您的文件,然后指示用户使用podspec方式Podfile安装您的 pod:
pod repo push <REPO_NAME> <PATH_TO_YOUR_PODSPEC_FILE>.podspec
Run Code Online (Sandbox Code Playgroud)
Private:同样的方法也适用于私有发行版,只要您的用户是唯一知道或有权访问 podspec URL 的用户。
尽管我不建议将二进制文件(即.xcframework)提交到 git 存储库中,但您几乎可以使用 git 存储库执行相同的操作,但无需压缩文件.xcframework。
创建一个 git 存储库并添加该.xcframework文件以及.podspec如下所示的文件:
use_frameworks!
target 'TargetName' do
pod '<POD_NAME>', :source => '<PRIVATE_SPECS_REPO_URL>'
end
Run Code Online (Sandbox Code Playgroud)
Public:然后你可以通过 cocoapods 规范存储库分发你的 pod,将你的.podspec文件推送到 cocoapods 主干,如下所示:
pod trunk push <PATH_TO_YOUR_PODSPEC_FILE>.podspec
Run Code Online (Sandbox Code Playgroud)
Private:对于私有分发,您可以创建一个私有规范存储库并使用以下命令来推送您的 podspec:
pod repo push <REPO_NAME> <PATH_TO_YOUR_PODSPEC_FILE>.podspec
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4907 次 |
| 最近记录: |