2012-10-16 88 views
6

我創建了我自己的CocoaPods豆莢內部使用我的應用程序。這個Pod還應該使用核心數據。我將我的文件xy.xcdatamodeld添加到我的源文件,但它沒有編譯到xy.momd文件夾中。自己的CocoaPods豆莢核心數據文件無法訪問

我是否需要在我的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" => "[email protected]" } 
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

有沒有接受答案的機會? –

+0

@DanielGalasko這個問題真的很古老,當時還沒有官方的方式。我接受了你的答案,因爲它似乎是解決問題的最佳方案。 – KrauseFx

+0

是的,我知道:)只是爲了讓你的新用戶問問同樣的Q –

回答

9

就這樣我就可以回到這個,它實際上是支持的。您只需確保您的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 
2

目前對此沒有明確的支持。 Here是你如何做到的一個例子。但是,請注意,該代碼未經測試,但應該沿着這些方向。最後,這個特定的用戶將模型定義轉移到代碼中,順便說一句。

HTH

0

我不是在Ruby的非常好,所以我不明白合金的例子。我所做的只是確保將xcdatamodeld作爲源文件包含在內,然後在我的項目中將其引用到Pods目錄中的該源文件。

該路徑最終看起來像'../Pods/[PathToMyPod]/[MyDataModel].xcdatamodeld'

它有點破解,但它很容易完成工作。