Configuration dependent value in Info.plist file

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-20 18:08:12

问题


I have three configurations in my iOS project:

  1. Debug
  2. Adhoc
  3. Release

Now I want to change the name of the App as follows:

  1. MyAppDebug
  2. MyAppAdhoc
  3. MyApp (Note that this one does not have a suffix)

Is there a way I can easily achieve this in Xcode with some type of "compiler-if-else-macro-thing"?


回答1:


Changing display name of app for respective configurations: one way to achieve this is by using the same info plist file that you have.

Part 1: create an user defined variable

  1. Click on target project file.
  2. Then at bottom right corner locate button "+" Add Build Setting.
  3. Click that button "Add Build Setting" and select "Add User-Defined Setting" enter name for New Setting as for ex: "BUNDLE_DISPLAY_NAME".
  4. Expand this new setting to see the configurations under it. Give the desired name to be displayed for each configuration. For ex: Debug -> MyAppDebug

Part 2: use it

  1. Select your appname-info.plist file.
  2. Locate key "Bundle Display Name" and value to it should be this new user defined variable ${BUNDLE_DISPLAY_NAME}

Then for appropriate configuration it will select name from BUNDLE_DISPLAY_NAME variable in build settings.




回答2:


Sure. First you have to create separate Info.plist file each configuration. Then in you Project's build settings find the line where Info.plist is placed, expand that line and choose separate Info.plist file for each configuration you have. Then you can enter desired name in corresponding field in each Info.plist file. That's it :)




回答3:


Also you can have two different info plist for different configurations which is different files and then from Build Settings > Info.plist File section you can change it.



来源:https://stackoverflow.com/questions/8971488/configuration-dependent-value-in-info-plist-file

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!