2

我按照https://guides.cocoapods.org/making/using-pod-lib-create中的所有步骤使我的开源库在 cocoapds 上可用。在发布运行pod lib lint命令之前的步骤结束时,它通过了测试:

 -> SHMultipleSelect (0.1.0)

SHMultipleSelect passed validation.

但是pod spec lint命令给出了一些错误:

[!] /usr/bin/git clone https://github.com/<GITHUB_USERNAME>/SHMultipleSelect.git /var/folders/fn/49fp5hx941541w0ncv5n28_h0000gn/T/d20150723-39741-1esoisq --single-branch --depth 1 --branch 0.1.0

Cloning into '/var/folders/fn/49fp5hx941541w0ncv5n28_h0000gn/T/d20150723-39741-1esoisq'...
fatal: unable to access 'https://github.com/<GITHUB_USERNAME>/SHMultipleSelect.git/': The requested URL returned error: 400

通过 stackoverflow 搜索错误,发现这个Can not update my pod library。按照接受的答案运行pod spec lint SHMultipleSelect.podspec命令,它给了我另一个错误:

[!] /usr/bin/git clone https://github.com/Shamsiddin/SHMultipleSelect.git /var/folders/fn/49fp5hx941541w0ncv5n28_h0000gn/T/d20150723-39842-774kfl --single-branch --depth 1 --branch 0.1.0

Cloning into '/var/folders/fn/49fp5hx941541w0ncv5n28_h0000gn/T/d20150723-39842-774kfl'...
warning: Could not find remote branch 0.1.0 to clone.
fatal: Remote branch 0.1.0 not found in upstream origin
Unexpected end of command stream

不清楚解决我的问题。有人可以告诉我死记硬背去哪里吗?

这是我的库 Git 网址:https ://github.com/Shamsiddin/SHMultipleSelect

还有我图书馆的 .podspec 文件:

#
# Be sure to run `pod lib lint SHMultipleSelect.podspec' to ensure this is a
# valid spec and remove all comments before submitting the spec.
#
# Any lines starting with a # are optional, but encouraged
#
# To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html
#

Pod::Spec.new do |s|
  s.name             = "SHMultipleSelect"
  s.version          = "0.1.0"
  s.summary          = "An easy-to-use multiple selection view."
  s.description      = <<-DESC
                       An easy-to-use multiple selection view for iOS 7+.
                       DESC
  s.homepage         = "https://github.com/Shamsiddin/SHMultipleSelect"
  # s.screenshots     = "www.example.com/screenshots_1", "www.example.com/screenshots_2"
  s.license          = 'MIT'
  s.author           = { "Shamsiddin" => "shamsiddin.saidov@gmail.com" }
  s.source           = { :git => "https://github.com/Shamsiddin/SHMultipleSelect.git", :tag => s.version.to_s }
  # s.social_media_url = 'https://twitter.com/Shamsiddin_Said'

  s.platform     = :ios, '7.0'
  s.requires_arc = true

  s.source_files = 'Pod/Classes/**/*'
  s.resource_bundles = {
    'SHMultipleSelect' => ['Pod/Assets/*.png']
  }

  # s.public_header_files = 'Pod/Classes/**/*.h'
  # s.frameworks = 'UIKit', 'MapKit'
  # s.dependency 'AFNetworking', '~> 2.3'
end

编辑1:

事实证明我没有在我的 Github 存储库中创建标签。我用版本创建了标签0.1.0并再次运行pod spec lint SHMultipleSelect.podspec命令。现在它给了我另一个错误:

 -> SHMultipleSelect (0.1.0)
    - ERROR | [iOS] The `source_files` pattern did not match any file.

Analyzed 1 podspec.

[!] The spec did not pass validation, due to 1 error.

编辑2:

从我的项目结构中添加了屏幕截图: 在此处输入图像描述

编辑 3:

在光盘上添加了我的项目结构的屏幕截图。该结构是使用pod lib create SHMultipleSelect命令 创建的在此处输入图像描述

4

1 回答 1

1

很高兴帮助您解决最初的问题。关于您编辑的问题,“Pod/Classes/**/*”中似乎没有文件。此文件路径应相对于 pod 规范指定,并且应包含文件。在与您的 podspec 相同的文件夹中是否有一个名为 Pod 的文件夹?

于 2015-07-23T15:33:10.960 回答