I have an app that I'd like 2 different versions deployed on the same phone.
Can this be achieved using TestFlight and Fabric, or a script for changing the bundle identifier on deploy possible?
You probably want two different build configurations for your app/target. Then you open the Build Settings in Xcode and change the bundle identifier there.
If the two versions of your app differ in other parts, you could also introduce your own custom build setting, see image below:
You can access that new build setting in code with this line. Change NEW_SETTING for the name of your new setting.
NSString *myCustomSetting = [[NSBundle mainBundle] infoDictionary][@"NEW_SETTING"];
Then your app can behave differently depending on the value of that build setting.