PlistHelper: Only try to useplutilif 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 theplutiltool 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 theObjectDictionaryclass 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_typeon 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 disablexcprojvia 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
plutiltool 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_LDFLAGSas 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_LDFLAGSsetting 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_plisterror.
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_BUILDenvironment variable. Set it to1to always build the C extension or to0to 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_pathfor retrieving a file reference for a given absolute path.
Per Eckerdal #101
- Fix
Unable to read data from Model.xcdatamodeld/.xccurrentversionwhen there are more Data model versions.
Pim Snel
-
[AbstractTarget] Added default value for
default_configuration_nameattribute.
Fabio Pelosin -
[XCConfigurationList]
common_resolved_build_settingwill 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
#sdkmethod 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_settingand#common_resolved_build_setting.
Fabio Pelosin -
[XCConfigurationList] Added
#get_settingand#set_setting.
Fabio Pelosin -
[Project] Added
#build_configuration_list.
Fabio Pelosin
-
[PBXGroup]
#new_static_libraryhas 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_typeto#sort_recursively_by_type. Fabio Pelosin
-
[PBXNativeTarget]
#add_system_frameworknow 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
PBXTargetDependencyto 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
ARCHSoption is not set anymore and will use Xcode’s defaults. This fixes the build and archive issue with the newarm64architecture. CocoaPods#1352 -
The default of the
ONLY_ACTIVE_ARCHsetting has changed toYESin theDebugconfiguration. 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_frameworkhas 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
#moveand#move_from. -
[PBXNativeTarget] Improve
#add_dependencyto avoid duplicates. -
[PBXNativeTarget] Added
#add_system_framework,#add_system_frameworks,#add_system_library,#add_system_libraries. -
[PBXFileReference, PBXGroup] Added
set_source_treeand#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,
') 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.openshould be used in place ofXcodeproj::Project.new, which now is deprecated for that purpose. -
Project#save_ashas been renamed toProject#savewhich 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_typehas 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_frameworknow 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
.xccurrentversionfile.
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.