- None.
- None.
-
Add support of c++ files (
hpp
andcpp
) inPBXFileReference:set_last_known_file_type
.
romanmikhailov #783 -
Add support of dependency analysis option in
PBXShellScriptBuildPhase:always_out_of_date
.
lemonspike #785 -
Update default build settings for Xcode 12
Samuel Giddins, Eric Amorde #767
- None.
- Add
:application_on_demand_install_capable
product type to support App Clips.
Igor Makarov #768
- None.
- Bump mininum Nanaimo gem version for Ruby 2.7 support.
Dimitris Koutsogiorgas #776
- None.
-
Add Xcode 12 object version
Dimitris Koutsogiorgas #764 -
target_dependency: Add target proxy to
to_tree_hash
. Ben Yohay
-
Prevent duplicate project references from being added to the generated workspace.
Sean Reinhardt #8481 -
Fix small bug where product references have a trailing dot
nickgravelyn #757
-
Add Xcode 11.4 object version.
Dimitris Koutsogiorgas #744 -
Add new APIs to set testables or entries in schemes.
Dimitris Koutsogiorgas #707 -
Add support for macro expansions to launch actions.
Eric Amorde #738
- Handle project_dir_path attribute for project location.
Paul Beusterien Andrew #739
- None.
- Provide option to look into xcconfigs for common build settings. Dimitris Koutsogiorgas #722
-
Properly serialize array settings when running
config-dump
.
Samuel Giddins -
Fix errors when using mutually recursive build settings.
revolter #727
-
Add
PBXShellScriptBuildPhase
dependency file.
Dimitris Koutsogiorgas #705 -
Add
to_h
alias toConfig
Eric Amorde #710 -
Update PBXProject known_regions attribute to include 'Base'
Liam Nichols #9187
-
Add support for
productRef
attribute forPBXTargetDependency
.
Dimitris Koutsogiorgas #715 -
Add support for
runOncePerArchitecture
attribute forPBXBuildRule
.
Alon Karasik #712
- Add #pretty_print to PBXCopyFilesBuildPhase and PBXShellScriptBuildPhase
Alex Coomans #702
- None.
- None.
- When resolving build settings against
xcconfig
s, allow the referenced file to be missing, as Xcode does.
Samuel Giddins
-
Add watchapp2-container product type.
Dimitris Koutsogiorgas #690 -
Add
platformFilter
Xcode 11 entry.
Dimitris Koutsogiorgas #693
- None.
- Support for Xcode 11 attributes and objects.
Dimitris Koutsogiorgas #687
- None.
- Updated latest SDK versions for the release of Xcode 10.2.
Samuel Giddins
-
Use modern localization identifier 'en' for the development region.
Steffen Matthischke #669 -
Generating deterministic UUIDs for a project also updates
TargetAttributes
.
Samuel Giddins
- None.
-
Set root object compatibility version depending on object version.
Dimitris Koutsogiorgas & Doug Mead #668 -
Normalize xcconfig path when generating includes.
bclymer
- None.
-
Fix build setting variable substitution for array settings.
Samuel Giddins -
Properly loads both project schemes and workspaces schemes on init and prevents overriding of incorrect project paths.
joshdholtz #656 -
Serialize
BuildableReference
attributes in schemes in the same order as Xcode.
Samuel Giddins -
Ensure a
GroupReference
's path includes its parentGroupReference
's path. BothFileReference
s andGroupReference
s only prepend the parent path if the child has a type ofgroup
.
Kesi Maduka #657 -
Stop leaking file handles when initializing schemes from files.
Samuel Giddins
-
Add support to generating deterministic UUIDs for a list of projects.
Sebastian Shanus #627 -
Add support for disableMainThreadChecker and stopOnEveryMainThreadCheckerIssue flags Jacek Suliga #619
-
Update default script phase values to match Xcode 10.
Dimitris Koutsogiorgas #652 -
Workspace file references now take parent group location into account
Albert So #630
-
Add support for launchable targets from a scheme.
Derek Ostrander #614 -
Update last known SDKs to iOS 12, macOS 10.14, tvOS 12, and watchOS 5
Minh Nguyễn #609
-
Fix Scheme's configure_with_targets setting test targets as build. Derek Ostrander #618
-
Add missing Swift settings in base project template
amorde CocoaPods #8063
-
Add
.inc
file extension to header file extensions.
Dimitris Koutsogiorgas #597 -
Extend API to allow specifying platform and deployment target for
PBXAggregateTarget
.
Dimitris Koutsogiorgas #593 -
Xcode 10 changes for test schemes.
Jenn Kaplan #583 -
Update default build settings for Xcode 10 beta 3.
Samuel Giddins -
Allow parsing
.xcconfig
files that use${inherited}
with multiple definitions for the same key.
Samuel Giddins
-
Only
require 'digest'
once instead of per call touuid_for_path
.
Eric Amorde #580 -
Xcode 10 support for input file list and output file list.
Dimitris Koutsogiorgas #7835 -
Create new targets with the Xcode 10 default ordering for build phases.
Samuel Giddins CocoaPods#7833 -
Document param
product_group
ofProject.new_target
.
janpio #594
- None.
- Add a missing
require 'set'
so the library can be loaded.
Samuel Giddins #572
-
Update LAST_KNOWN_IOS_SDK to 11.3
Piasy -
Create new static library targets without linking against system frameworks, for new build system compatibility.
Samuel Giddins
-
Fix
add_build_configuration
forPBXAggregateTarget
Dimitris Koutsogiorgas #565 -
Fixed
undefined method isa for nil:NilClass
when deleting a Xcodeproj target. JanC #462 -
Fix parsing of build settings when a key and value are not seprated from the
=
by whitespace Daniel Petri #566 -
Serialize arrays in Xcode projects based upon the project's object version.
Samuel Giddins -
Warn when encountering unknown attributes instead of bailing out.
theoriginalgri #535
- None.
-
Make Workspace.load_schemes load schemes in the workspace container
loufranco #557 -
Fix expanding build settings when the current build setting is a string but the inherited value is an array.
Samuel Giddins CocoaPods#7421
- None.
- Disable Objective-C weak references by default for new targets
whose deployment targets do not support them.
Samuel Giddins #544
-
Atomically write
project.pbxproj
files, so that Xcode will never see them in a half-written state.
Samuel Giddins -
Update default build settings for Xcode 9.3.
Samuel Giddins -
Allow to create a buildable reference to another project's target.
Simon Seyer #543
-
Save
.xcscheme
files with double-quoted strings, consistent with Xcode.
Samuel Giddins -
[XCBuildConfiguration] Support environment variables in #resolve_build_setting
Ruenzuo #510 -
Ensure
--no-ansi
disables output of escape sequences.
Samuel Giddins #540
- Made it possible to configure a scheme to launch a Today extension
Eldorado234 #520
-
Fixing the method recreate_user_scheme for targets other than type PBXNativeTarget.
Yadir Hernandez #531 -
Verify container portal when checking dependency target membership.
izaakschroeder #513 -
[XCBuildConfiguration] Fix infinite recursion in #resolve_build_setting
Ruenzuo #511
- Allowed to simply save a scheme after it was saved with a path before
Eldorado234 #519
- Update default build settings for Xcode 9.
Samuel Giddins
- Narrows regex for SCM conflict marker detection allenhumphreys #495
-
Add add_legacy_target method to ProjectHelper
Dimitris Koutsogiorgas #491 -
Provide ability to update schemes as they are being recreated
Dimitris Koutsogiorgas #490 -
Use
test_target_type?
when adding testable reference
Dimitris Koutsogiorgas #487 -
Add test reference to xcscheme if target is of type test
Dimitris Koutsogiorgas #485 -
Make build settings parsing optionally take into account any associated xcconfig files and project settings.
Renzo Crisóstomo #180 -
Add command_line_arguments to TestAction.
Brently Jones Danielle Tomlinson #492
- Do not crash when there are no
BuildActionEntries
in a scheme.
Danielle Tomlinson #486
-
ui_test_bundle
product are treated as xctest bundles.
Rajinder Ramgarhia #467 -
Remove the dependency upon
activesupport
.
Samuel Giddins
- None.
-
Updated Common Build Settings with Xcode 8.3.
Louis D'hauwe #474 -
Updated Common Build Settings with Xcode 8.2.1.
Louis D'hauwe #468 -
Return file references when adding system frameworks to a target.
Keith Smiley #466 -
Add more Xcode file type references by file extension.
Keith Smiley #465
- Reference proxy display name always returns "ReferenceProxy".
Behavior corrected to return the name or path of the reference.
Barak Weiss #472
- Better error message when a target_dependency is invalid.
Dimitris Koutsogiorgas #448
-
Require 'colored' in xcodeproj.rb
Dimitris Koutsogiorgas #374 -
Allow initializing an Xcode project without the
classes
attribute.
Samuel Giddins #446
- Added RemoteRunnable wrapper to achieve Apple Watch compatibility
Eldorado234 #518
- None.
- Use Nanaimo for native ruby ASCII plist parsing and serialization.
Removes the dependency on Xcode, FFI, and macOS.
Samuel Giddins
- None.
- None.
-
Fix regression resulting in projects existing product ref groups being altered
Rashin Arab #429 -
Fixed handling of xcdatamodeld packages in subfolders.
Simon Seyer #427
- None.
- Cover more cases of the Dir.chdir breakages.
Danielle Tomlinson #421
- None.
- Bump last known object version to support Xcode 8.0.
Boris Bügling #412 #414
-
Add new Messages application product types to constants.
Ben Asher #400 -
Add support for identify the host of an embedded target, when the embedded target belongs to a sub-project
Ben Asher #396
- None.
-
Expand
Project
helpers for finding a target's extension targets and their hosts to include all embedded targets
Ben Asher #385 -
Add helpers to
Project
for finding an extension target's host targets and a host target's extension targets.
Ben Asher #382 -
Add accessors for working with skipped tests inside TestAction in
.xcscheme
files.
Eduard Panasiuk #380 #383 -
Add new Messages extension product types to constants.
Boris Bügling #390 -
Fix plist serialization with Xcode 8 beta 1.
Boris Bügling #389
- None.
- Add test target and extension target helpers to
PBXNativeTarget
.
Samuel Giddins
- None.
- Support for UI test bundles.
Boris Bügling #372
- None.
- Update constants for Xcode 7.3.
Samuel Giddins #370
- Support initializing a workspace that is missing a
contents.xcworkspacedir
.
Roger Hu CocoaPods#4998
- None.
- None.
- Add support for
outputFilesCompilerFlags
in a customPBXBuildRule
.
Samuel Giddins #362
- Improve the error when attempting to get the absolute path for a workspace
file reference of
developer
type.
Samuel Giddins CocoaPods#5107
-
Fix ASCII .xcodeproj serialization with Xcode 7.3.
Boris Bügling #356 -
Ensure that new targets have the right build settings for custom build configurations.
Samuel Giddins #354
- Depend upon CLAide 1.0.
Samuel Giddins
-
Add accessors for working with Environment Variables in
.xcscheme
files.
Justin Martin #326 -
Add method to create new variant groups (groups for localized versions of the same file).
Tim Bodeit #315 -
Added target type for TV application extensions.
Boris Bügling #318 -
Added .hxx to the list of recognized header file extensions.
Jason Vasquez #320 -
Added basic
Xcodeproj::Workspace
APIs to support groups.
David Parton #322 -
Added a helper to set the deployment target on a target based on its platform.
Samuel Giddins -
Added support for projects tracking if they have been modified.
Samuel Giddins #202 -
The plist serializer can now be switched to different implementations, which will get autoloaded on-demand.
Samuel Giddins -
Simply requiring
xcodeproj
on a ruby installation without thefiddle
gem will not cause an exception -- that exception has been delayed until actually attempting to serialize / load a plist file.
Samuel Giddins
-
Avoid duplicating settings with multiple values in common when merging.
Samuel Giddins CocoaPods#3652 -
Avoid duplicating settings with common prefixes when merging.
Samuel Giddins -
Escape XML entities in project names when writing workspace.
Caesar Wirth CocoaPods#4446 -
Serialized configs will now have a trailing newline appended.
Samuel Giddins
- Silence
dyld
warnings appearing on OS X 10.11.
Boris Bügling #312
- Handle non-string values when serializing an XCConfig.
Samuel Giddins CocoaPods#4291
-
Add
tvos
as a new platform.
Boris Bügling Xcodeproj#301 -
Allow accessing the new Xcode 7's Clang code coverage setting on XCSchemes ("Gather Code Coverage" checkbox).
Olivier Halligon #307 -
Adds
Xcodeproj::XCScheme#save!
to save in place when theXCScheme
object was initialized from an existing file.
Olivier Halligon #308
-
Allow opening and saving projects that have circular target dependencies.
Samuel Giddins CocoaPods#4229 -
Fix the generation of deterministic UUIDs for
.xcdatamodeld
bundles.
Samuel Giddins CocoaPods#4187
- Cache some calculations in deterministic UUID generation.
Samuel Giddins
- This release fixes a file permissions error when using the RubyGem.
Samuel Giddins
-
Added the ability to load an existing
.xcscheme
file and manipulate it usingXcodeproj::XCScheme
.
Olivier Halligon #288 -
Sorting is now done in a case-insensitive manner.
Emma Koszinowski CocoaPods#3684 -
Trailing whitespace is stripped when serializing XCConfig files.
Samuel Giddins -
XCConfig values that are only
$(inherited)
will be omitted during serialization.
Samuel Giddins
-
Fix a crash when calling
xcodeproj config-dump
.
Samuel Giddins -
Reduces the number of cases un which deterministic UUIDs would yield duplicates. Downgraded duplicate generated UUIDs to a warning from an exception.
Samuel Giddins CocoaPods#3823 CocoaPods#3850
- Fix a crash when using the
xcodeproj
CLI.
Samuel Giddins
- Vastly speed up deterministic UUID generation for large projects.
Samuel Giddins
- Allow transforming a project's UUIDs into predictable replacements.
Samuel Giddins #175
-
Allow
xcodeproj show
to accept--no-color
as an option without crashing.
Samuel Giddins #267 -
Actually fix crashing when using Xcode 7 betas 1 & 2.
Samuel Giddins #278
-
Ensure that duplicate resources or source files aren't added to a target.
Samuel Giddins -
Support for native watch app targets.
Boris Bügling Xcodeproj#272 -
Update default build and scheme settings for Xcode 7.0 beta 1/2.
Marius Rackwitz Boris Bügling Xcodeproj#271
-
Fix the help output for
xcodeproj config-dump
.
Samuel Giddins #274 -
Add support for project serialization with Xcode 7 Beta 2.
Samuel Giddins Boris Bügling #278 CocoaPods#3723
- Actually fix crashing when using Xcode 7 betas 1 & 2.
Samuel Giddins #278
Constants
: Adds support for Command Line Tool as a product type.
Nick Jordan Xcodeproj#268
- Support for Xcode 6.3 compatible projects.
Boris Bügling Xcodeproj#253
-
Return a list of project targets including only native targets by
native_targets
.
Marc Boquet Marius Rackwitz Xcodeproj#256 -
ProjectHelper
: Allow to create aggregate targets.
Marius Rackwitz Xcodeproj#260 -
ProjectHelper
: Give optional parameter ofconfiguration_list
andcommon_build_settings
the default valuenil
.
Marius Rackwitz Xcodeproj#260
-
Save xcconfig files also if only the includes where modified by fixing the equality method implementation.
Brian Partridge Xcodeproj#255 -
Use
xcode-select --print-path
to be compatible with OS X 10.8.
Boris Bügling CocoaPods#3387
- Do not apply
fix_encoding
workaround when writing ASCII plists.
Boris Bügling CocoaPods#3298
ProjectHelper
: Allow to specify the primary language of the target.
Marius Rackwitz Xcodeproj#244
- Depend on pathname so components such as PlistHelper can be used directly.
Vincent Isambart Kyle Fuller #243
-
Use the
DVTFoundation.framework
of Xcode to serialize projects as ASCII plists. This makes the optional installation ofxcproj
unnecessary to retain the project file format.
Boris Bügling Xcodeproj#199 Xcodeproj#203 -
PlistHelper
: Add support for plist files with numbers (real
,integer
).
Vincent Isambart
-
Use the correct value for
COPY_PHASE_STRIP
when creating build configurations.
Marius Rackwitz #3062 -
handle .H header files as headers and remove from the compile sources build phase.
banjun Xcodeproj#239
- Include common build settings on custom build configurations.
Kyle Fuller
-
Project
Thenew_target
method now creates build configurations corresponding to all configurations of the project, not just Debug and Release.
Boris Bügling Xcodeproj#228 CocoaPods#3055 -
Use
#sub
instead of#gsub
to remove spaces near first=
when generating scheme files.
Almas Sapargali Xcodeproj#225
Constants
The build settings match now those from Xcode 6.1.
Marius Rackwitz Kyle Fuller Xcodeproj#166
-
ProjectHelper
The::common_build_settings
method supports now a new parameterlanguage
to select the language used in the target. Acceptable options are either:objc
or:swift
.
Marius Rackwitz Xcodeproj#166 -
ProjectHelper
Supports to create framework targets for iOS & OSX with the correct build settings.
Marius Rackwitz Xcodeproj#166 -
Commands
Xcodeproj CLI has a new commandconfig-dump
, which allows to read the build settings from all configurations of all targets of a given Xcode project and serialize them to .xcconfig files.
Marius Rackwitz Xcodeproj#166
Rakefile
Brings a set of new tasks to interactively generate fixture targets for all target configurations supported by Xcode to update the xcconfig fixtures used for the new specs, which check the build settings constants.
Marius Rackwitz Xcodeproj#166
FileReference
Fixes an issue that caused project names containing"
,'
,&
,<
or>
to produce a workspace that Xcode could not open.
Hugo Tunius CocoaPods#2807
-
Project
Make#==
a fast shallow comparison method, which operates only on its root object UUID and its path on disk. For full data comparisons, use the#eql?
method instead.
Eloy Durán Xcodeproj#216 -
NativeTarget
Make adding a target dependency O(1) constant speed.
Eloy Durán Xcodeproj#216 -
Object
Cache an object's plist name, which is used very often during project generation.
Eloy Durán Xcodeproj#216
CoreFoundation
Hopefully fix a Ruby constant lookup issue. We have been unable to reproduce this, but since more than one person has reported it, we're including this fix in the hope it fixes this esoteric issue.
Eloy Durán CocoaPods#2632 CocoaPods#2739
- Support for Ruby < 2.0.0 has been dropped. Xcodeproj now depends on
Ruby 2.0.0 or greater.
Kyle Fuller
-
Project
: Recognize merge conflicts and raise a helpful error.
Marius Rackwitz Xcodeproj#192 -
PBXContainerItemProxy
: Allow access to the proxied object.
Marius Rackwitz Xcodeproj#178
-
PBXCopyFilesBuildPhase
: Add a convenience methodsymbol_dst_subfolder_spec
to set the destination subfolder specification by a symbol.
Marius Rackwitz Xcodeproj#187 -
PBXNativeTarget
: Return newly created build files byadd_file_references
and yield each one to allow direct modification of its settigs.
Marius Rackwitz Xcodeproj#187
-
PBXNativeTarget
: Fixed the creation of target dependencies, which refer to subprojects.
Marius Rackwitz Xcodeproj#178 -
PBXReferenceProxy
: Added the missing attribute name, which could appear when external frameworks are referenced. Marius Rackwitz Xcodeproj#189
-
PlistHelper
: Add support for Ruby 1.9.3's implementation ofFiddle
.
Eloy Durán Xcodeproj#206 -
Stop re-writing config files if they have not changed.
Kyle Fuller Boris Bügling
PlistHelper
: Drop usage of theCFPropertyList
gem andplutil
and replace it with a version that uses the nativeCFPropertyList
APIs from the OS XCoreFoundation
framework, like the previous C extension did. Except this time we use Ruby's Fiddle API (MRI >= 1.9.3) to interface with it instead of the need to compile a C extension.
This release still includes a prebuilt version of the C extension for Ruby 1.8.7 support (OS X 10.8.x), but this will soon be dropped completely.
Eloy Durán CocoaPods#2483 Xcodeproj#198 Xcodeproj#200
PlistHelper
: Only try to useplutil
if it's in the exact location where we expect it to be on OS X, instead of relying on the user's$PATH
. Eloy Durán CocoaPods#2502
Config
: Remove space after -l flag in other linker flags.
Fabio Pelosin
-
PlistHelper
: Now theplutil
tool is used to save the files if available to produce output consistent with Xcode.
Fabio Pelosin -
Project
: Added support for adding file references to sub-projects.
Fabio Pelosin -
Config
: The config class now properly handles quotes inOTHER_LDFLAGS
.
Fabio Pelosin -
PBXGroup
: Now file references to Xcode projects are properly handled and setup. Also theObjectDictionary
class has been improved and now can be used to edit the attributes using it. Fabio Pelosin Xcodeproj#172 -
Constants
: Support XCTest as product type and don't fail forPBXNativeTarget#symbol_type
on unknown product types.
Marius Rackwitz Xcodeproj#176 -
Workspace
: Now a template is used to produce the same formatting of Xcode.
Fabio Pelosin -
Project
: Improved validation of object attributes.
Fabio Pelosin -
Project
: Completed support for dictionaries.
Fabio Pelosin -
Project
: Added possibility to disablexcproj
via an environment variable.
Fabio Pelosin
Project
: Fixed reference counting issue when deleting sub-projects.
-
[PlistHelper] The native extension has been removed in favour of the usage of the
plutil
tool to read ASCII property list files.
Fabio Pelosin Xcodeproj#168 Xcodeproj#167 -
[PBXFileReference] If a file reference represents an external Xcode project and is removed from the project then all items related to the external project will also be removed.
JP Simard Eloy Durán Xcodeproj#158 Xcodeproj#161
- [Workspace] Fixed adding a project to a workspace. Alessandro Orrù Xcodeproj#155
- [Workspace] Added support for file references.
Kyle Fuller Fabio Pelosin Xcodeproj#105
- [Constants] Added support for .ipp files as headers.
Samuel E. Giddins
- [Xcodeproj::Project#reference_for_path] Support for string parameter.
jlj
- [Constants] Disable errors on warnings for default build settings
Fabio Pelosin
- [Extension] Fixed build on OS X 10.9's system Ruby (2.0.0). Eloy Durán
- [Constants] Temporarily reverting the changes to
OTHER_LDFLAGS
as the were creating issues in CocoaPods.
Fabio Pelosin
- [Project] Now the provided path is always expanded on initialization.
Gordon Fontenot #121
-
[Constants] Bumped last know SDK versions.
Fabio Pelosin #141 -
[Constants] Removed empty
OTHER_LDFLAGS
setting to match Xcode's behaviour.
Gordon Fontenot -
[Constants] Bumped last known Xcode version to
5.1
.
Romans Karpelcevs #138
- [Extension] Fixed intermittent
Xcodeproj::PlistHelper.write_plist
error.
Eloy Durán
- Add support for absolute, group and container project references in workspaces
Kyle Fuller #118
-
[Gem] On MRI 1.8.7 /dev/tty is considered writable when not configured, leading to an exception when ran in an environment without a TTY.
Eloy Durán #111 #112 -
[Gem] Ensure rake is installed.
Johannes Würbach #110 -
[bin] Ensure the version file is loaded before trying to print it.
Eloy Durán #107
- [Scheme] Generate correct ReferencedContainer attribute when the Xcode project
has a non-empty
projectDirPath
.
Per Eckerdal #102
-
[Gem] Provide prebuilt binary versions of the C extension for the stock Ruby versions on both OS X 10.8 (MRI 1.8.7) and 10.9 (MRI 2.0.0). Due to the ABI of MRI’s C ext API not always being consistent, these will not install on Ruby versions you have installed yourself. To override the default behaviour you can use the
XCODEPROJ_BUILD
environment variable. Set it to1
to always build the C extension or to0
to never build the C extension.
Eloy Durán #88 -
[Scheme] Add support for aggregate targets to
#add_build_target
.
Per Eckerdal #102 -
[PBXNativeTarget] Add support for subproject targets in
#add_dependency
.
Per Eckerdal #101 -
[Project] Add
#reference_for_path
for retrieving a file reference for a given absolute path.
Per Eckerdal #101
- Fix
Unable to read data from Model.xcdatamodeld/.xccurrentversion
when there are more Data model versions.
Pim Snel
-
[AbstractTarget] Added default value for
default_configuration_name
attribute.
Fabio Pelosin -
[XCConfigurationList]
common_resolved_build_setting
will now ignore nil values. This is an heuristic which might not closely match Xcode behaviour. This is done because some information, like the SDK, is usually considered at the target level but it might actually differ in the build configurations. For example nothing prevents a target to build with the iOS sdk in one configuration and with the OS X in another.
Fabio Pelosin CocoaPods/CocoaPods#1462
- [AbstractTarget] The
#sdk
method now raises if the value is not the same across all the build configurations. This has been done to prevent clients from accidentally using arbitrary values.
Fabio Pelosin
-
[AbstractTarget] Added
#resolved_build_setting
and#common_resolved_build_setting
.
Fabio Pelosin -
[XCConfigurationList] Added
#get_setting
and#set_setting
.
Fabio Pelosin -
[Project] Added
#build_configuration_list
.
Fabio Pelosin
-
[PBXGroup]
#new_static_library
has been replaced by the more versatile#new_product_ref_for_target
.
Fabio Pelosin -
[XCScheme] Overhauled interface to support multiple targets.
Jason Prado #95 -
[PBXGroup] renamed
#recursively_sort_by_type
to#sort_recursively_by_type
. Fabio Pelosin
-
[PBXNativeTarget]
#add_system_framework
now adds the system frameworks relative to the developer directory. Xcode behaviour is following: if the target has the same SDK of the project it adds the reference relative to the SDK root otherwise the reference is added relative to the Developer directory. This can create confusion or duplication of the references of frameworks linked by iOS and OS X targets. For this reason the new Xcodeproj behaviour is to add the frameworks in a subgroup according to the platform. The method will also honor the SDK version of the target if available (otherwise the last known version is used). Fabio Pelosin -
[Project] The project can now recreate it schemes from scratch and optionally hide them.
Fabio Pelosin -
Added support for booleans in the C extension which handles Property list files.
Fabio Pelosin -
Improvements to the generation of new targets.
Fabio Pelosin -
[Project] Added possibility to specify the position of groups while sorting. Fabio Pelosin
-
[PBXGroup] Now defaults to sorting by name.
Fabio Pelosin -
[XCScheme] The string representation of schemes now closely matches Xcode behaviour.
Fabio Pelosin -
[PBXGroup, PBXFileReference] Added
#parents
.
Fabio Pelosin -
[PBXGroup] Added
#recursive_children_groups
.
Fabio Pelosin -
[AbstractTarget] Add #sdk_version.
Fabio Pelosin -
Added default build settings to new projects according to Xcode defaults.
Fabio Pelosin
- No longer allow
PBXTargetDependency
to sort recursively. When two targets depend on each other, this would lead to the two targets endlessly sorting each other and finally crashing with a stack overflow.
Eloy Durán CocoaPods#1384
-
Added support for Xcode 5.
-
The
ARCHS
option is not set anymore and will use Xcode’s defaults. This fixes the build and archive issue with the newarm64
architecture. CocoaPods#1352 -
The default of the
ONLY_ACTIVE_ARCH
setting has changed toYES
in theDebug
configuration. This means that if this is a static library, the application that links the library in will have to make the same adjustment, or the build will fail. -
[Project]
#add_system_framework
has been removed in favor ofPBXNativeTarget#add_system_framework
.
-
[Command] Added new subcommand
sort
, to sort projects from the command line. This command is useful for sorting projects as well to easy comparison of existing projects. -
[Project::Object] Added
#sort
. -
[Project] Added
#sort
,#add_system_library
. -
[Project::ObjectList] Added
#move
and#move_from
. -
[PBXNativeTarget] Improve
#add_dependency
to avoid duplicates. -
[PBXNativeTarget] Added
#add_system_framework
,#add_system_frameworks
,#add_system_library
,#add_system_libraries
. -
[PBXFileReference, PBXGroup] Added
set_source_tree
and#set_path
. -
[PBXGroup] Added
find_file_by_path
. -
[AbstractBuildPhase] Added
#file_display_names
,#build_file
, and#include
.
-
[Command] Fixed opening existing projects.
-
[GroupableHelper] Improved handling of ambiguous parents.
-
Decode XML entities in project paths when reading workspace files. This prevents double-encoding the entities (for example,
&apos;
) when writing the file. amolloy -
Fix C-ext memory leak by closing and releasing the CFWriteStream used to write projects when done. #93 jasonprado
- Build configurations are now deeply copied. CocoaPods/CocoaPods#1288,
-
To initialize a project a path is required even is the project is being initialized from scratch.
-
To open an existing project
Xcodeproj::Project.open
should be used in place ofXcodeproj::Project.new
, which now is deprecated for that purpose. -
Project#save_as
has been renamed toProject#save
which uses the path provided during initialization by default. -
The parameter to specify a subgroup of the helper methods to create file references and new groups (e.g.
#new_file
,#group
) has been deprecated. -
Removed
PBXGroup#new_xcdatamodel_group
. -
[PBXFileReference]
#update_last_known_file_type
has been renamed to#set_last_known_file_type
. Added#set_explicit_file_type
. -
[PBXGroup] Renamed
#sort_by_type!
to#sort_by_type
. -
[Project]
#add_system_framework
now adds the reference to the frameworks build phase of the target as well.
-
CoreData versioned models are now properly handled respecting the contents of the
.xccurrentversion
file.
CocoaPods/CocoaPods#1288, #83
Ashton-W -
[PBXGroup, PBXFileReference] Improved source tree handling in creation helpers. Now it is possible to specify the source tree which will be used to adjust the provided path as needed.
-
Added
PBXGroup#parent
,PBXGroup#real_path
,PBXFileReference#parent
(replaces#group
), andPBXFileReference#real_path
. -
Xcodeproj will automatically utilize the xcproj command line tool if available in the path of the user to touch saved projects. This will result in projects serialized in the exact format used by Xcode.
-
[PBXGroup] Improved deletion.
-
[PBXGroup] Added
#recursively_sort_by_type
. -
[PBXGroup, PBXFileReference] Added
#move
. -
[AbstractTarget] Added
#add_build_configuration
.
-
Frameworks are added using the last sdks version reported by the xcodebuild if the target links against the last SDK.
-
Improvements in the handling of file references to frameworks.
-
Improvements to the schemes logic.
-
Added support for resources bundle targets.
-
Project::Group#new_file will now create XCVersionGroup for xcdatamodeld file.
- The file type of the frameworks file references has be corrected.