Podspec 验证但未安装文件

Posted

技术标签:

【中文标题】Podspec 验证但未安装文件【英文标题】:Podspec validates but files are not installed 【发布时间】:2014-04-19 11:15:29 【问题描述】:

我正在编写我的第一个 pod 规范,虽然我已经设法编写了一个通过验证的规范,并且 pod install 似乎可以安装 pod,但实际的源文件在其中找不到我的工作区。这是我的 podfile:

platform :ios, '7.0'
xcodeproj 'NORLabelNodeiOStest'
pod 'NORLabelNode', :path => '~/Programmering/Development/NORLabelNodePodSpec'
pod 'AFNetworking'

如您所见,NORLabelNode pod 是通过本地版本的 podspec 安装的,如下所示:

Pod::Spec.new do |s|
  s.name             = "NORLabelNode"
  s.version          = "0.9.2"
  s.summary          = "Extension of Apple's SKLabelNode. Allowing multiple lines through the use of \n in the text-string. "
  s.description      = <<-DESC
                       Behaves like an ordinary SKLabelNode with the one difference that adding newline characters to the text- property actually adds line-breaks. This is achieved by creating SKLabelNodes as child-nodes, but keeping these as part of the internal (private) logic.
                       DESC
  s.homepage         = "https://github.com/nickfalk/NORLabelNode.git"
  s.license          = 'MIT'
  s.author           =  "T. Benjamin Larsen" => "benjamin.larsen@noreagle.no" 
  s.source           =  
        :git => "https://github.com/nickfalk/NORLabelNode.git", 
        :tag => 'v0.9.2' 
    
  s.social_media_url = 'https://twitter.com/noreagle'

  s.platform     = :ios, '7.0'
  s.ios.deployment_target = '7.0'
  s.osx.deployment_target = '10.9'
  s.requires_arc = true
  s.frameworks = 'SpriteKit'
  s.source_files = 'NORLabelNode.h,m'
end

运行 pod install 并没有任何迹象表明有任何问题:

Analyzing dependencies
Fetching podspec for `NORLabelNode` from `~/Programmering/Development/NORLabelNodePodSpec`
Downloading dependencies
Installing AFNetworking (2.2.3)
Installing NORLabelNode (0.9.2)
Generating Pods project
Integrating client project

[!] From now on use `NORLabelNodeiOStest.xcworkspace`.

AFNetworking pod 按预期安装文件,但我自己的 NORLabelNode 没有。有人吗?

【问题讨论】:

【参考方案1】:

如您所见,NORLabelNode pod 是通过 podspec 的本地版本安装的,如下所示

path 选项不是这样工作的。它期望的是项目本身的路径,而不是规范。

来自docs:

使用此选项,CocoaPods 将假定给定文件夹是 Pod 的根目录,并将直接从那里链接到 Pods 项目中的文件。

如果您只想使用您的规范而不将其添加到主存储库,您可以创建自己的规范存储库 (docs)。或者只是将您的规范放在正确的文件夹结构中 ~/.cocoapods/repos/master

【讨论】:

这是有道理的。尝试为本地 pod 定义版本时出现错误消息。当时这对我来说没有多大意义,但代替你的回复它是完全有道理的。

以上是关于Podspec 验证但未安装文件的主要内容,如果未能解决你的问题,请参考以下文章

rpmbuild 已安装(但未打包)的文件源

Python 打包:数据文件已正确放入 tar.gz 文件中,但未安装到虚拟环境中

如何通过 podspec 在颤振插件上添加 .a 库

Cocoapod podspec 验证 - 发生未知 DSL 错误

iOS组件化和podspec

尝试在本地安装“Prestashop”但未正确安装 INTL