CocoaPod spec:无法找到Model.xcdatamodeld的其他来源参考
问题描述:
我想创建一个与CoreData模型内的pod。我已按照提示使用resources
和reserve_path
。但是,当我尝试lint
规范与pod lib lint
有这个奇怪的错误,我甚至不明白:CocoaPod spec:无法找到Model.xcdatamodeld的其他来源参考
- ERROR | [iOS] unknown: Encountered an unknown error (Unable to find other source ref for /Users/rzolin/Projects/ArmorText/iOS-Pod-Test/SampleMessengerCocoapodFramework/SampleMessengerCocoapodFramework/Code/DataManagement/Model/Model.xcdatamodeld/Model.xcdatamodel/contents for target SampleMessengerCocoapodFramework.) during validation.
该规范是基于几个subspecs,这可能有点复杂的问题。到目前为止,在互联网上搜索没有产生任何帮助。
有一个test spec复制错误,如果有人愿意看看。
完整的规范是在这里:
Pod::Spec.new do |s|
s.name = 'SampleMessengerCocoapodFramework'
s.version = '0.2.0'
s.summary = 'some desc'
s.description = <<-DESC
some desc
DESC
s.homepage = 'http://www.example.com'
s.license = { :type => 'MIT', :file => 'LICENSE' }
s.author = { 'rzolin' => '[email protected]' }
s.source = { :git => 'https://github.com/rzolin/SampleMessengerCocoapodFramework.git', :tag => s.version.to_s }
# Platform setup
s.requires_arc = true
s.ios.deployment_target = '8.0'
s.default_subspec = 'Core'
### Subspecs
s.subspec 'Core' do |cs|
cs.dependency 'SampleMessengerCocoapodFramework/DataManagement'
cs.dependency 'SampleMessengerCocoapodFramework/Networking'
end
s.subspec 'DataManagement' do |ds|
ds.source_files = 'SampleMessengerCocoapodFramework/Code/DataManagement.h', 'SampleMessengerCocoapodFramework/Code/DataManagement/**/*'
ds.resources = [ 'SampleMessengerCocoapodFramework/Code/DataManagement/Model/Model.xcdatamodeld', 'SampleMessengerCocoapodFramework/Code/DataManagement/Model/Model.xcdatamodeld/*.xcdatamodel' ]
ds.preserve_paths = 'SampleMessengerCocoapodFramework/Code/DataManagement/Model/Model.xcdatamodeld'
end
s.subspec 'Networking' do |ns|
ns.source_files = 'SampleMessengerCocoapodFramework/Code/Networking.h', 'SampleMessengerCocoapodFramework/Code/Networking/**/*.{h,m,swift}'
end
# s.resource_bundles = {
# 'SampleMessengerCocoapodFramework' => ['SampleMessengerCocoapodFramework/Assets/*.png']
# }
# s.public_header_files = 'Pod/Classes/**/*.h'
# s.frameworks = 'UIKit', 'MapKit'
# s.dependency 'AFNetworking', '~> 2.3'
end
我试着问的CocoaPods的question,但在这里
提到任何帮助,将不胜感激!
答
我有同样的问题,通过包括SampleMessengerCocoapodFramework/Code/DataManagement/**/*
要包括所有文件(这样荚尝试包括.xcdatamodel/xcdatamodeld
文件,这就是你的错误。
我建议从源头文件coredatamodel
。
即s.source_files = 'SampleMessengerCocoapodFramework/Code/DataManagement/**/*.{h,m}'
并保留其余部分是,它应该工作!
答
我有同样的问题和错误消息你。 我想在我的pod中拥有.xcdatamodel
。 这里是我的解决方案:
-
只添加您的代码在SOURCE_FILES:
s.source_files = 'MyPodDiR/**/*.{h,m,swift,xcdatamodeld}'
-
添加您
xcdatamodel
路径作为资源:s.resources = 'MyPodDir/CoreData/MyPodModel*.xcdatamodeld'
做你管理找到解决这个问题的办法? – Mateusz