2012-01-23 4 views
15

У меня есть три конфигурации в моем проекте IOS:конфигурации зависит значение в файле Info.plist

  1. Debug
  2. Adhoc
  3. релиз

Теперь я хочу, чтобы изменить имя из Приложение следующим образом:

  1. MyAppDebug
  2. MyAppAdhoc
  3. MyApp (Обратите внимание, что это один не имеет суффикса)

Есть ли способ, я могу легко добиться этого в Xcode с некоторым типом «компилятор, если-иначе-макро -thing "?

+0

Возможный дубликат [Три несколько разных Приложения из одной базы кода] (http://stackoverflow.com/questions/8956263/three-slightly-different-apps-from-one-code-base) – Besi

ответ

29
  • Изменение отображаемого имени приложения для соответствующих конфигураций * Один из способов добиться этого с помощью той же информации Plist файл, который у вас есть.

    1. Создайте пользовательскую переменную. Нажмите на файл целевого проекта.
    2. Затем в нижней правой углу найдите кнопку «+». Добавить настройку сборки.
    3. Нажмите эту кнопку «Добавить настройку сборки» и выберите «Добавить пользовательский Настройка« введите имя для новой настройки, как для ex: «BUNDLE_DISPLAY_NAME».
    4. Развернуть эту новую настройку, чтобы увидеть конфигурации под ней. Дайте нужное имя для каждой конфигурации. Для экс: Debug -> MyAppDebug

Часть 2:

  1. Выберите APPNAME-info.plist файл.
  2. Найдите ключ «Связка Display Name» и значение должна быть это новый пользователь определяется переменные $ {} BUNDLE_DISPLAY_NAME

Тогда для соответствующей конфигурации будут выбрать имя из переменной BUNDLE_DISPLAY_NAME в настройках сборки.

+0

Это отличный ответ.Это очень ценная информация для тех, кто поддерживает 2 версии приложения (Release/Production). – polterfest

+0

это лучший способ сделать это. – Jon

4

Несомненно. Сначала вам нужно создать отдельный файл Info.plist для каждой конфигурации. Затем в настройках сборки Project найдите строку, где находится Info.plist, разверните эту строку и выберите отдельный файл Info.plist для каждой вашей конфигурации. Затем вы можете ввести желаемое имя в соответствующее поле в каждом файле Info.plist. Вот это :)

+1

Возможно ли сделать это, но не нужно повторять все значения для каждого plist? Или возможно, что значение ключа в главном plist динамически соответствует одному из конфигурационного plist? – farski

+0

Да, создайте пользовательский параметр сборки, затем на основе конфигурации, для которой вы строите, используйте это значение. – ganders