Xcode scheme change display name
In Xcode 8 (at least), in your build settings you should already have a setting called "Product Name" (under "Packaging"). That will take different values for different schemes, although they all default to "$(TARGET_NAME)". That's why, if you don't specify the display name, it takes the target name.
You can change any or all of them.
This way, you don't have to create a new user-defined setting.
You can do that easily.
- Add a "User-Defined Setting" (e.g. DISPLAY_NAME) to your target and set different values for different Schemes.
- Go to the "Info.plist" of your target and add "Bundle display name" key and set its value to "$(DISPLAY_NAME)"
This works for Xcode 9.
Target (General tab)-> Display name - $(PRODUCT_NAME)
In Build settings tab, search for Product Name and give the required product name under each schemes.