我在内部创建了自己的CocoaPods Pod用于我的应用程序。此Pod还应使用Core Data。我将我的文件xy.xcdatamodeld添加到我的源文件中,但它没有编译到xy.momd文件夹中。
我是否需要在Pod中设置任何其他属性才能使Core Data正常工作?
我当前的pod文件:
Pod::Spec.new do |s|
s.name = "Test"
s.version = "1.0"
s.summary = "..."
s.homepage = "..."
s.license = 'MIT (example)'
s.author = { "Felix Krause" => "xy@xy.com" }
s.source = { :git => "http://EXAMPLE/Example.podspec.git", :tag => "0.0.1" }
s.platform = :ios, '6.0'
s.source_files = 'TS/Classes/**/*.{h,m}', 'TS/Views/**/*.{h,m}', 'TS/TSResources/**/*.{json,xcdatamodeld}'
s.resources = "TS/TSResources/**/*"
s.frameworks = 'CoreData', 'QuartzCore', 'Accounts', 'MessageUI', 'CoreLocation', 'CoreGraphics', 'MobileCoreServices', 'SystemConfiguration'
s.requires_arc = true
s.ios.xcconfig = { 'HEADER_SEARCH_PATHS' => '$(PODS_ROOT)/../../TS/**' }
s.ios.xcconfig ={ 'FRAMEWORK_SEARCH_PATHS' => '"$(PODS_ROOT)/../.." "$(PODS_ROOT)/.." "$(SRCROOT)/.."' }
s.xcconfig = { 'OTHER_LDFLAGS' => '-all_load' }
s.dependency 'JSONKit'
end
答案 0 :(得分:10)
就这样我可以回到这里,它实际上得到了支持。您需要做的就是确保您的pod规范列出资源下的.xcdatamodeld
。有什么影响:
Pod::Spec.new do |s|
s.name = "MyPod"
s.version = "0.1"
s.platform = :ios, '8.0'
s.requires_arc = true
s.public_header_files = 'Pod/Classes/**/*.h'
s.source_files = 'Pod/Classes/**/*{h,m}'
s.resources = 'Pod/Classes/CoreData/*.xcdatamodeld'
s.frameworks = 'CoreData'
end
答案 1 :(得分:2)
目前没有明确的支持。 Here是您如何做到这一点的一个例子。但请注意,该代码未经测试,但应该是这些代码。该特定用户将模型定义移动到代码中,最后,顺便说一句。
HTH
答案 2 :(得分:1)
看看以下内容:
https://github.com/CocoaPods/Xcodeproj/issues/81#issuecomment-23142404 https://github.com/Ashton-W/CoreDataPodSample
答案 3 :(得分:0)
我不擅长Ruby,所以我不理解合金的例子。我所做的只是确保xcdatamodeld
作为源文件包含在内,然后在我的项目中引用Pods目录中的源文件。
路径最终看起来像'../Pods/[PathToMyPod]/[MyDataModel].xcdatamodeld'
。
它有点像黑客,但它很容易完成工作。