Skip to content

Instantly share code, notes, and snippets.

@alloy
Forked from epologee/TwelveTwentyToolkit.podspec
Created September 30, 2012 15:54
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save alloy/38a3400bffc0837af5f3 to your computer and use it in GitHub Desktop.
Save alloy/38a3400bffc0837af5f3 to your computer and use it in GitHub Desktop.
How do I get the .xcdatamodel as a compiled resource into my pod?
Pod::Spec.new do |s|
s.name = 'TwelveTwentyToolkit'
s.version = '0.0.1'
s.summary = 'The Twelve Twenty Toolkit of reusable Objective-C classes.'
s.homepage = 'http://twelvetwenty.nl'
s.license = 'MIT'
s.author = { 'Eric-Paul Lecluse' => 'epologee@gmail.com', 'Jankees van Woezik' => 'jankeesvw@gmail.com' }
s.source = { :git => 'https://github.com/TwelveTwenty/TwelveTwentyToolkit-ObjC.git', :commit => :head }
s.platform = :ios, '5.0'
s.source_files = 'TwelveTwentyToolkit/TwelveTwentyToolkit.h'
s.requires_arc = true
s.preferred_dependency = 'CoreGraphics'
s.subspec 'CoreGraphics' do |cg|
cg.frameworks = 'UIKit','QuartzCore'
cg.source_files = 'TwelveTwentyToolkit/CoreGraphics/*'
end
s.subspec 'CoreData' do |cd|
cd.frameworks = 'CoreData'
cd.source_files = 'TwelveTwentyToolkit/CoreData/*'
end
s.subspec 'AddressBook' do |uab|
uab.frameworks = 'AddressBook'
uab.dependency 'TwelveTwentyToolkit/CoreData'
uab.source_files = 'TwelveTwentyToolkit/AddressBook','TwelveTwentyToolkit/AddressBook/Entities','TwelveTwentyToolkit/AddressBook/Entities/Abstract'
uab.preserve_path = 'TwelveTwentyToolkit/AddressBook/TTUnifiedAddressBook.xcdatamodeld'
def uab.post_install(target_installer)
momd_relative = 'TwelveTwentyToolkit/AddressBook/TTUnifiedAddressBook.momd'
momd_full = config.project_pods_root + momd_relative
unless momd_full.exist?
puts "\nCompiling TwelveTwentyToolkit/AddressBook Core Data model\n".yellow if config.verbose?
model = config.project_pods_root + 'TwelveTwentyToolkit/AddressBook/TTUnifiedAddressBook.xcdatamodeld'
command = "xcrun momc '#{model}' '#{momd_full}'"
command << " 2>&1 > /dev/null" unless config.verbose?
unless system(command)
raise ::Pod::Informative, "Failed to compile TwelveTwentyToolkit/AddressBook Core Data model"
end
end
File.open(File.join(config.project_pods_root, target_installer.target_definition.copy_resources_script_name), 'a') do |file|
file.puts "install_resource '#{momd_relative}'"
end
end
end
end
@lemonkey
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment