git 遇到意外的版本目录Classes

zsbz8rwp  于 2023-06-20  发布在  Git
关注(0)|答案(3)|浏览(137)

我在创建私有存储库时出错。这是我采取的步骤:
1.创建文件夹,运行pod lint create PrivateRepo并设置值
1.在BitBucket中创建私有仓库
1.在PrivateRepo文件夹中运行以下命令:
命令:

git add .
git commit -m “Initial Commit"
git remote add origin https://Username@bitbucket.org/Username/privaterepo.git
git push -u origin master

1.更改我的podspec中的摘要和主页,并将上面的bitbucket链接设置为source
1.运行以下命令:
命令:

git tag 0.1.0
git push origin 0.1.0

1.运行pod spec lint --swift-version=4.1现在通过验证
1.运行以下命令:
命令:

pod repo add PrivateRepo https://Username@bitbucket.org/Username/privaterepo.git
pod repo push PrivateRepo PrivateRepo.podspec --swift-version=4.1

1.到目前为止,没有发生任何错误。然而,当我想将pod安装到我的其他项目中时,我得到一个错误:
PrivateRepo存储库中的/Users/Username/.cocoapods/repos/PrivateRepo/PrivateRepo Pod遇到意外的版本目录Classes
这是我在其他项目中的podfile:

source 'https://Username@bitbucket.org/Username/privaterepo.git'
source 'https://github.com/CocoaPods/Specs.git'

platform :ios, ’10.3’

target 'OtherProject' do
  use_frameworks!
pod 'PrivateRepo'
end

这是我的podspec文件:

Pod::Spec.new do |s|
  s.name             = 'PrivateRepo'
  s.version          = '0.1.0'
  s.summary          = 'test'

  s.description      = <<-DESC
TODO: Add long description of the pod here.
                       DESC

  s.homepage         = 'https://google.com'
  s.license          = { :type => 'MIT', :file => 'LICENSE' }
  s.author           = { 'Username' => 'Username@hotmail.com' }
  s.source           = { :git => 'https://Username@bitbucket.org/Username/privaterepo.git', :tag => s.version.to_s }

  s.ios.deployment_target = '8.0'

  s.source_files = 'PrivateRepo/Classes/**/*'
end
w8f9ii69

w8f9ii691#

看起来你已经差不多了,但是还没有设置你的podspec仓库(这是一个推荐的步骤:https://guides.cocoapods.org/making/private-cocoapods.html)。
在您的Podfile中,尝试将repo的源URL替换为spec的源URL。例如:

source 'https://username@bitbucket.org/username/private-repo-specs.git'
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, ’10.3’

target 'OtherProject' do
  use_frameworks!
pod 'PrivateRepo'
end

我还发现这篇文章对设置私人回购很有帮助:https://medium.com/practical-code-labs/how-to-create-private-cocoapods-in-swift-3cc199976a18
编辑
在我们的项目中,我们现在直接URL到pod文件中的git源代码,因为它允许我们快速更改pod中的分支,并意味着您可以删除我上面提到的2个source行。无论哪种方式都可以:)。
下面是一个在pod文件中直接使用git项目的URL的示例:
pod ‘PrivatePod’, :git => "git@github.com:Test/privatepod.git"

jv4diomz

jv4diomz2#

遇到这个问题是因为:

An unexpected version directory `1.0.1_customBuild_90` was encountered for the `/Users/mfaani/.cocoapods/repos/Product-specs/MyPod` Pod in the `MyPod` repository.`

基本上1.0.1_customBuild_90不是标准的。

v09wglhw

v09wglhw3#

由于时间限制,我使用:git方法临时导入一个私有pod。
这次我又遇到了同样的问题。幸运的是,我找到了LocoMoviles的video tutorial和CocoaPods的官方Specs。通过学习和借鉴,我终于有了顿悟,成功地解决了这个问题。
pod源代码仓库和PodSpecs仓库不是同一个概念。
下面是一个使用名为APrivatePod的pod的示例:
APrivatePod的文件结构如下:

APrivatePod
├── APrivatePod.podspec
├── Classes
│   └── APrivatePod.h
├── LICENSE
├── README.md
├── Resources

PodSpecs存储库的文件结构如下:

PodSpecs
├── APrivatePod
│ ├── 0.1.0
│ │ └── APrivatePod.podspec
│ └── 0.1.1
│ └── APrivatePod.podspec
└── BPrivatePod
├── 0.1.0
│ └── BPrivatePod.podspec
└── 0.1.1
└── BPrivatePod.podspec

有了上面的概述和下面我从官方网站上捕捉到的图片,错误的原因就很明显了。

上面的答案是我写的,由OpenAI翻译成英文。

相关问题