【发布时间】:2014-06-09 19:39:24
【问题描述】:
您好,我正在为我的私有库创建 podspec,效果很好,但是当我创建带有子规范的 podspec 时,使用 $ pod spec lint [podname].podspec 将成功
但是当我添加这个 pod 并说 $ pod install 时
我总是得到这个错误:
错误
ArgumentError - Malformed version number string Loader
/Library/Ruby/Gems/2.0.0/gems/cocoapods-core-0.32.1/lib/cocoapods-core/vendor/version.rb:191:in `initialize'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-core-0.32.1/lib/cocoapods-core/version.rb:60:in `initialize'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-core-0.32.1/lib/cocoapods-core/source/file_system_data_provider.rb:61:in `new'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-core-0.32.1/lib/cocoapods-core/source/file_system_data_provider.rb:61:in `block in versions'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-core-0.32.1/lib/cocoapods-core/source/file_system_data_provider.rb:59:in `map'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-core-0.32.1/lib/cocoapods-core/source/file_system_data_provider.rb:59:in `versions'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-core-0.32.1/lib/cocoapods-core/source.rb:90:in `versions'
我的 podspec 看起来像这样:
sp.dependency 'Globals','~> 0.0.1' 和 sp.dependency 'Extensions','~> 0.0.1' 是私有 pod,它们可以正常工作。
Pod::Spec.new do |s|
s.name = "Networking"
s.version = "0.0.2"
s.summary = "Networking for Handling Network"
s.description = "Networking handling Network and blabla"
s.homepage = "http://www.myhp.at"
# ――― Spec License ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #
s.license = { :type => 'MIT', :text => <<-LICENSE
Copyright 2014 blabla
LICENSE
}
# ――― Author Metadata ――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #
s.author = { "MyName" => "me@me.at" }
# ――― Platform Specifics ――――――――――――――――――――――――――――――――――――――――――――――――――――――― #
s.platform = :ios, "5.0"
# ――― Source Location ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #
s.source = { :git => "https://myurl/myrepo.git", :tag => "0.0.2" }
# ――― Source Code ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #
# s.source_files = "Networking/"
# s.exclude_files = "Classes/Exclude"
# s.public_header_files = "Classes/**/*.h"
s.subspec 'Loader' do |sp|
sp.source_files = 'Networking/Loader'
sp.dependency 'ASIHTTPRequest', '~> 1.8'
sp.dependency 'Globals','~> 0.0.1'
sp.dependency 'Extensions','~> 0.0.1'
end
s.subspec 'L1DataFeed' do |sp|
sp.source_files = 'Networking/DataFeed'
sp.frameworks = 'CoreData'
sp.dependency 'ASIHTTPRequest', '~> 1.8'
sp.dependency 'Globals','~> 0.0.1'
sp.dependency 'Extensions','~> 0.0.1'
end
s.subspec 'L1NetworkManager' do |sp|
sp.source_files = 'Networking/NetworkManager'
sp.dependency 'Networking/DataFeed'
sp.dependency 'ASIHTTPRequest', '~> 1.8'
sp.dependency 'Globals','~> 0.0.1'
sp.dependency 'Extensions','~> 0.0.1'
end
# ――― Resources ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #
# s.resource = "icon.png"
# s.resources = "Resources/*.png"
# s.preserve_paths = "FilesToSave", "MoreFilesToSave"
# ――― Project Linking ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #
# s.framework = "SomeFramework"
# s.frameworks = "SomeFramework", "AnotherFramework"
# s.library = "iconv"
# s.libraries = "iconv", "xml2"
# ――― Project Settings ――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #
s.requires_arc = true
# s.xcconfig = { "HEADER_SEARCH_PATHS" => "$(SDKROOT)/usr/include/libxml2" }
#s.dependency 'ASIHTTPRequest', '~> 1.8', '>= 1.8.2'
#s.dependency 'Globals','~> 0.0.1'
#s.dependency 'Extensions','~> 0.0.1'
end
文件夹结构如下所示:
根:
- 网络
- --> 加载器
- --> 数据源
- --> 网络管理器
那么有人可以帮我解决这个问题吗?
我尝试制作另一个具有相同问题的子规范的 podspec。
【问题讨论】:
-
您可以发布您在 podspec 中使用的文件夹结构吗?
-
您好,文件夹结构看起来如此 ../Networking/Loader 和 ../Networking/DataFeed 和 ../Networking/NetworkManager
标签: objective-c ruby-on-rails xcode dependency-management cocoapods