2010-02-22 3 views
28

Предположим, у меня есть приложение iPhone, чье имя продукта «« Мое приложение »(пробел между словами) в настройках сборки XCode. В моей info.plist, идентификатор Пачка определяется как com.mycompany.${PRODUCT_NAME:rfc1034identifier}Форматирование идентификатора пакета XCode из {PRODUCT_NAME}

В результате info.plist в пучке приложения, идентификатор пучка показан как com.mycompany.My-App. Мне нужно, чтобы это было com.mycompany.MyApp. Как изменить параметр идентификатора Bundle, чтобы он конвертировал имя продукта так, как я хочу?

пс. Если я изменю ${PRODUCT_NAME:rfc1034identifier} на ${PRODUCT_NAME:identifier}, итоговый идентификатор пакета будет com.mycompany.My_App. Мне просто нужно полностью удалить символ пробела в имени продукта.

ответ

43

Просто введите его?

т.е. вместо com.mycompany.${PRODUCT_NAME:rfc1034identifier} просто введите com.mycompany.MyApp

Если у вас есть более одной цели, что нужны разные имена расслоением, один из способов сделать это, чтобы создать свою собственную переменную и использовать вместо.

В меню сборки (выберите ваш проект и выберите «Получить информацию»), вы можете добавить свои собственные переменные в проект. Если вы сделаете одно имя MY_BUNDLE_NAME и установите его в MyApp, вы можете поместить com.mycompany.${MY_BUNDLE_NAME} в файл plist. Вы должны иметь возможность устанавливать MY_BUNDLE_NAME на разные значения для разных целей.

+2

Спасибо за ур ответ, но моя ситуация не такая простая! Конечно, я понял свой вопрос, но я не сказал, что у меня есть несколько «целей» одного и того же приложения, которые должны иметь разные идентификаторы пакетов. Поэтому мне нужно настроить идентификатор пакета динамически в соответствии с настройками сборки, которые есть у каждой из этих целей. Например, у одной цели может быть «My App1» в качестве названия продукта, а у другой цели может быть «My App2» в качестве названия продукта. Вот почему мне нужно сделать это динамически, вместо жесткого кодирования. – ravinsp

+1

А, это имеет смысл! Я отредактировал свой ответ; надеюсь, что это более полезно! – deanWombourne

+0

Спасибо, декан! это сделало бы это для меня, и я вижу, что эти пользовательские настройки сборки будут полезны для меня и в некоторых других местах. Спасибо за совет! – ravinsp

0

же расслоением идентификатор должен быть на Xcode и itunnes:

в этом файле $ потрогать Info.plist

Bundle Identifier (App ID Суффикс) Введите уникальный идентификатор для ID App. Рекомендуемая практика заключается в использовании строки стиля имени обратного домена для части идентификатора пакета идентификатора приложения.

Пример: com.domainname.appname

0

Принятый ответ не работает для меня правильно. Казалось, что он изменил идентификатор пакета, однако он испортил все приложение. В моем случае это решение работало нормально: Change bundle identifier in Xcode when submitting my first app in IOS