A full list of all the changes since 0.5.1 can be found here.
CocoaPods will now generate documentation for every library with the
appledoc
tool and install it into Xcode’s documentation viewer.
You can customize the settings used like so:
s.documentation = { :appledoc => ['--product-name', 'My awesome project!'] }
Alternatively, you can specify a URL where an HTML version of the documentation can be found:
s.documentation = { :html => 'http://example.com/docs/index.html' }
The Sandbox represents the entire contents of the POD_ROOT
(normally
SOURCE_ROOT/Pods
). A LocalPod represents a pod that has been installed within
the Sandbox.
These two classes can be used as better homes for various pieces of logic currently spread throughout the installation process and provide a better API for working with the contents of this directory.
-
#163: Print a template for a new ticket when an error occurs.
-
Added a new Github-specific downloader that can download repositories as a gzipped tarball.
-
No more global state is kept during resolving of dependencies.
-
Updated Xcodeproj to have a friendlier API.
-
#166: Added printing of homepage and source to search results.
-
#134: Match
IPHONEOS_DEPLOYMENT_TARGET
build setting withdeployment_target
option in generated Pods project file. -
#142: Add
-fobjc-arc
toOTHER_LD_FLAGS
if any pods require ARC. -
#148: External encoding set to UTF-8 on Ruby 1.9 to fix crash caused by non-ascii characters in pod description.
-
Ensure all header search paths are quoted in the xcconfig file.
-
Added weak quoting to
ibtool
input paths.
No longer requires MacRuby. Runs on MRI 1.8.7 (OS X system version) and 1.9.3.
A full list of all the changes since 0.3.0 can be found here.
Oops, accidentally skipped this version.
Add support for multiple static library targets in the Pods Xcode project with different sets of depedencies. This means that you can create a separate library which contains all dependencies, including extra ones that you only use in, for instance, a debug or test build. [docs]
# This Podfile will build three static libraries:
# * libPods.a
# * libPods-debug.a
# * libPods-test.a
# This dependency is included in the `default` target, which generates the
# `libPods.a` library, and all non-exclusive targets.
dependency 'SSCatalog'
target :debug do
# This dependency is only included in the `debug` target, which generates
# the `libPods-debug.a` library.
dependency 'CocoaLumberjack'
end
target :test, :exclusive => true do
# This dependency is *only* included in the `test` target, which generates
# the `libPods-test.a` library.
dependency 'Kiwi'
end
A dependency can take a git url if the repo contains a podspec file in its root, or a podspec can be loaded from a file or HTTP location. If no podspec is available, a specification can be defined inline in the Podfile. [docs]
# From a spec repo.
dependency 'SSToolkit'
# Directly from the Pod’s repo (if it contains a podspec).
dependency 'SSToolkit', :git => 'https://github.com/samsoffes/sstoolkit.git'
# Directly from the Pod’s repo (if it contains a podspec) with a specific commit (or tag).
dependency 'SSToolkit', :git => 'https://github.com/samsoffes/sstoolkit.git',
:commit => '2adcd0f81740d6b0cd4589af98790eee3bd1ae7b'
# From a podspec that's outside a spec repo _and_ the library’s repo. This can be a file or http url.
dependency 'SSToolkit', :podspec => 'https://raw.github.com/gist/1353347/ef1800da9c5f5d267a642b8d3950b41174f2a6d7/SSToolkit-0.1.1.podspec'
# If no podspec is available anywhere, you can define one right in your Podfile.
dependency do |s|
s.name = 'SSToolkit'
s.version = '0.1.3'
s.platform = :ios
s.source = { :git => 'https://github.com/samsoffes/sstoolkit.git', :commit => '2adcd0f81740d6b0cd4589af98790eee3bd1ae7b' }
s.resources = 'Resources'
s.source_files = 'SSToolkit/**/*.{h,m}'
s.frameworks = 'QuartzCore', 'CoreGraphics'
def s.post_install(target)
prefix_header = config.project_pods_root + target.prefix_header_filename
prefix_header.open('a') do |file|
file.puts(%{#ifdef __OBJC__\n#import "SSToolkitDefines.h"\n#endif})
end
end
end
This allows the user to customize, for instance, the generated Xcode project before it’s written to disk. [docs]
# Enable garbage collection support for MacRuby applications.
post_install do |installer|
installer.project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['GCC_ENABLE_OBJC_GC'] = 'supported'
end
end
end
Generate a Podfile.lock file next to the Podfile, which contains a manifest of your application’s dependencies and their dependencies.
PODS:
- JSONKit (1.4)
- LibComponentLogging-Core (1.1.4)
- LibComponentLogging-NSLog (1.0.2):
- LibComponentLogging-Core (>= 1.1.4)
- RestKit-JSON-JSONKit (0.9.3):
- JSONKit
- RestKit (= 0.9.3)
- RestKit-Network (0.9.3):
- LibComponentLogging-NSLog
- RestKit (= 0.9.3)
- RestKit-ObjectMapping (0.9.3):
- RestKit (= 0.9.3)
- RestKit-Network (= 0.9.3)
DOWNLOAD_ONLY:
- RestKit (0.9.3)
DEPENDENCIES:
- RestKit-JSON-JSONKit
- RestKit-ObjectMapping
We no longer ship template projects with the gem, but instead generate them programmatically. This code has moved out into its own Xcodeproj gem, allowing you to automate Xcode related tasks.