7

我创建了自己的 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
4

4 回答 4

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
于 2015-08-17T09:40:54.147 回答
2

目前没有对此的明确支持。是一个如何做到这一点的例子。但是请注意,该代码未经测试,但它应该是类似的东西。那个特定的用户最终将模型定义移动到代码中,顺便说一句。

高温高压

于 2012-10-16T17:37:23.920 回答
1

看看以下内容:

https://github.com/CocoaPods/Xcodeproj/issues/81#issuecomment-23142404 https://github.com/Ashton-W/CoreDataPodSample

于 2015-03-11T11:41:27.977 回答
0

我不是很擅长 Ruby,所以我不明白合金的例子。我所做的只是确保将其xcdatamodeld作为源文件包含在内,然后在我的项目中引用 Pods 目录中的该源文件。

路径最终看起来像'../Pods/[PathToMyPod]/[MyDataModel].xcdatamodeld'.

它有点hack,但它可以轻松完成工作。

于 2012-12-13T04:53:14.213 回答