Reputation: 1385
Where can I find information on how to modify these
${EXECUTABLE_NAME}
${PRODUCT_NAME}
These are only displayed in .plist file but where are the actual values.
If we can directly modify what ever we want in .plist why we need these.
I am new that's why I'm having problem understanding these, I also looked into apple information Property list key reference but didn't find these ${} values.
Upvotes: 125
Views: 64120
Reputation: 36287
Specifically about how ${PRODUCT_NAME}
gets defined in terms of order:
$(TARGET_NAME)
Note: If any value was derived off of ${PRODUCTS_NAME}
and you change it to some-constant-value
then it's no longer going to be a computed value.
e.g. if you change the value of CFBundleName
from its default ${PRODUCT_NAME}
to something like My cool App
then your app's name on the springboard will show up as 'My cool App'. It will no longer show up as 'whatever your target's name is'
Upvotes: 1
Reputation: 34225
Xcode ${<variable_name>}
syntax
Xcode variable can be defined on different level and the Resolved
one is used. You can use Build Settings -> Levels
tab to manage it
All variables are listen in Build Settings
. Also every setting has it's own declaration
Product Name - PRODUCT_NAME
These setting are saved in buildSettings
block of
<project_name>.xcodeproj/project.pbxproj
You can use Search view to find any variable and Help Inspector
to find declaration and other useful information
Some of settings are not exposed by Xcode
EXECUTABLE_NAME
But you are able to get or even to override the value using User-Defined Settings
reader_EXECUTABLE_NAME = $(EXECUTABLE_NAME)
EXECUTABLE_NAME = $EXECUTABLE_PREFIX$PRODUCT_NAME$EXECUTABLE_SUFFIX
[SWIFT_MODULE_NAME, PRODUCT_MODULE_NAME, PRODUCT_NAME, EXECUTABLE_NAME]
Upvotes: 1
Reputation: 22939
The PRODUCT_NAME
is defined in the target's Build Settings
in the Packaging
section. It has the same name by default as your project.
Edit:
While PRODUCT_NAME
is by default the name of the Target (MyDemoApp
in this case). The EXECUTABLE_NAME
is a concatenation of:
$EXECUTABLE_PREFIX
, $PRODUCT_NAME
and $EXECUTABLE_SUFFIX
.
See the reference of EXECUTABLE_NAME for details.
The new reference can be found here http://help.apple.com/xcode/mac/8.3/#/itcaec37c2a6
EXECUTABLE_NAME
Specifies the name of the binary the target produces.
Upvotes: 202
Reputation: 920
I think the $ represents the variable productName & executableName as the $ is used in unix. The variables are set in the build setting of the application. So you should not change the product name directly in the plist file. Instead, go to build settings, search for product name and change it.
Upvotes: 2