In addition to the standard "Release" and "Debug" configurations, an app I develop has an "Adhoc" configuration, used for ad-hoc testing builds. The frameworks built alongside it in the workspace do not have this configuration, because their behavior is not customized for ad-hoc builds. Therefore, when the workspace builds for ad-hoc, the products are separated into:
$BUILT_PRODUCTS_DIR
(which has anAdhoc
prefix)$BUILT_PRODUCTS_DIR/../Release-iphoneos
or$BUILT_PRODUCTS_DIR/../Release-iphonesimulator
, depending on which we are currently building for.
It's easy enough to get this working with library and framework search paths, by adding $(BUILT_PRODUCTS_DIR)/../Release-$(PLATFORM_NAME)
to those settings. At this point, my app builds correctly, but fails on the "Embed Frameworks" step.
My frameworks are added to the app project with the location BUILT_PRODUCTS_DIR
and a relative path of just their name.
This question is similar, but it only works for static libraries, which do not require this step - I'm using frameworks.
If there is a better way to handle this, please let me know - but I don't want to push the custom configuration upwards into the frameworks, because some of them may be eventually be open-sourced, and details of our internal process are irrelevant in that case.