Skip to content

Repository files navigation

cocoapods-rome

Rome makes it easy to build a list of frameworks for consumption outside of Xcode, e.g. for a Swift script.

Installation

$ gem install cocoapods-rome

Important

In the examples below the target 'caesar' could either be an existing target of a project managed by cocapods for which you'd like to run a swift script or it could be fictitious, for example if you wish to run this on a standalone Podfile and get the frameworks you need for adding to your xcode project manually.

Usage

Write a simple Podfile, like this:

MacOS

platform:osx,'10.10'plugin'cocoapods-rome'target'caesar'dopod'Alamofire'end

iOS

platform:ios,'8.0'plugin'cocoapods-rome',{:pre_compile=>Proc.new{ |installer|
installer.pods_project.targets.eachdo |target|
target.build_configurations.eachdo |config|
config.build_settings['SWIFT_VERSION']='4.0'endendinstaller.pods_project.save},dsym: false,configuration: 'Release'}target'caesar'dopod'Alamofire'end

then run this:

pod install

and you will end up with dynamic frameworks:

$ tree Rome/
Rome/
└── Alamofire.framework

Advanced Usage

For your production builds, when you want dSYMs created and stored:

platform:osx,'10.10'plugin'cocoapods-rome',{dsym: true,configuration: 'Release'}target'caesar'dopod'Alamofire'end

Resulting in:

$ tree dSYM/
dSYM/
├── iphoneos
│ └── Alamofire.framework.dSYM
│ └── Contents
│ ├── Info.plist
│ └── Resources
│ └── DWARF
│ └── Alamofire
└── iphonesimulator
└── Alamofire.framework.dSYM
└── Contents
├── Info.plist
└── Resources
└── DWARF
└── Alamofire

Hooks

The plugin allows you to provides hooks that will be called during the installation process.

pre_compile

This hook allows you to make any last changes to the generated Xcode project before the compilation of frameworks begins.

It receives the Pod::Installer as its only argument.

post_compile

This hook allows you to run code after the compilation of the frameworks finished and they have been moved to the Rome folder.

It receives the Pod::Installer as its only argument.

Example

Customising the Swift version of all pods

platform:osx,'10.10'plugin'cocoapods-rome',:pre_compile=>Proc.new{ |installer|
installer.pods_project.targets.eachdo |target|
target.build_configurations.eachdo |config|
config.build_settings['SWIFT_VERSION']='4.0'endendinstaller.pods_project.save},:post_compile=>Proc.new{ |installer|
puts"Rome finished building all the frameworks"}target'caesar'dopod'Alamofire'end

About

Makes it easy to build a list of frameworks.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages