mrackwitz/xcconfigs

Universal Framework xcconfigs - build iOS, OS X, tvOS and watchOS frameworks on base of one target


License
MIT

Documentation

xcconfigs for Universal Frameworks

Build iOS, OS X, tvOS and watchOS frameworks on base of one target.

If you maintain a framework on multiple platforms, you usually have to duplicate your framework target. Normally you have to maintain all build settings in two or more places, and then you have to duplicate the target membership lists for all source code files and build phases.

This project intends to aggregate common or universal Xcode configuration settings, specifically for frameworks. Keeping them in hierarchical Xcode configuration files for easy modification and reuse. All build settings for platform-specific values are scoped by conditional variable assignments. This means you can have one framework target and select at build time, which platform it should be build against and the right default build settings are selected automatically.

Usage

Manual Integration

  1. $ git submodule add https://github.com/mrackwitz/xcconfigs.git xcconfigs
  2. Drop the files into the root group of your framework target.
  3. Make sure to check Create groups instead of Create folder references
  4. Select the project in the file navigator
  5. Select the project in the left pane of the project editor
  6. Select the Info tab
  7. Expand the Configurations pane, if needed
  8. Expand Debug, Release and further configurations, if present
  9. Select UniversalFramework_Framework for your framework target
  10. Select UniversalFramework_Test for your test target of your framework target

Carthage

Carthage supports universal frameworks on master.