So I have 2 schemes: prod and staging. And both have their own Debug and Release configuration settings (one of which is the bundle ID, eg. prod-Release: com.mycomp.myApp, prod-Debug: com.myComp.myApp.debug, staging-Release: com.myComp.myApp.staging.debug, staging-Debug: com.myComp.myApp.staging.debug). Now, there is a framework that is bound to each bundle ID. The framework is not from a So I need 4 instances of the same framework for each bundle ID. I tried separating the frameworks into folders and just link them whenever I need to run the appropriate scheme. Basically like so: {PROJECT_ROOT}FrameworksMyFrameworkprod-DebugMyFramework.xcframework {PROJECT_ROOT}FrameworksMyFrameworkprod-ReleaseMyFramework.xcframework {PROJECT_ROOT}FrameworksMyFrameworkstaging-DebugMyFramework.xcframework {PROJECT_ROOT}FrameworksMyFrameworkstaging-ReleaseMyFramework.xcframework I've added a Run script to create the link before Compile Sources step like so: cd ${SRCROOT}/zDefend if [ ${CONFIGURATION} = prod-D