Имя пакета, Имя исполняемого файла, Имя продукта ... что-нибудь еще? - PullRequest
69 голосов
/ 09 августа 2010

Имя пакета, Имя исполняемого файла, Имя продукта ... больше ??

Может кто-нибудь помочь прояснить использование каждого из них в Xcode на проекте iPhone? Они никогда не могут сбить с толку живущих баезусов из меня ... и я устал их неправильно понимать.

Кто-то, пожалуйста, объясните ... какого черта нам нужно так много разных схем именования для одной среды приложения? и для чего мне использовать каждый из них, чтобы я мог воткнуть их в правую дырочку в моей голове?

Ответы [ 5 ]

41 голосов
/ 09 августа 2010

Если вы посмотрите на список info.plist, он выглядит примерно так:

Bundle Display Name - ${PRODUCT_NAME}
Executable File - ${EXECUTABLE_NAME}
Bundle Name - ${PRODUCT_NAME}

Итак, вы можете видеть, что обычно PRODUCT_NAME дает вам то же имя для пакета и то, что видит пользователь.

В некоторых случаях вам может потребоваться более сложное отображаемое имя, которое не подходит для именования таких вещей, как пакеты или исполняемые файлы, поэтому вы можете изменить их независимо, но не обязаны. По умолчанию PRODUCT_NAME совпадает с именем проекта, но вы также можете переопределить его в настройках сборки.

Вы не должны изменять способ их настройки в info.plist, если у вас нет веских причин ... просто измените PRODUCT_NAME.

37 голосов
/ 24 августа 2010

Имя пакета - это имя папки, в которой будет храниться ваше приложение (включая исполняемый файл и все ресурсы) (Cool Program.app).

Имя исполняемого файла - это двоичное имя программы, т.е. Cool Program.app/CoolProgram

Отображаемое имя пакета - это то, что будет отображаться на экране iPhone, например, Cool Prog (поскольку программа Cool Program, вероятно, не поместится на Springboard).

И, как заявляет Apple, отображаемое имя пакета должно соответствовать имени пакета, т. Е. Нельзя использовать имя пакета TheApplication и отображаемое имя пакета что-то другое

0 голосов
/ 24 января 2016

Существует также $ {TARGET_NAME} - например, если у вас есть один проект, который делает несколько целей с разными «отображаемыми именами пакетов».

0 голосов
/ 15 ноября 2011

Согласно документации Apple.com, это полностью противоположно тому, что вы ожидаете.

"Отображаемое имя" - это ACTUAL имя пакета.

Но «Имя пакета» - это просто короткое имя «ОТОБРАЖЕНИЯ».

Фактическое вырезание / вставка из Apple.com:

CFBundleName (рекомендуется, локализуемо) Фактическое имяпакета

CFBundleDisplayName (рекомендуется, локализуется) Краткое отображаемое имя пакета.

Тьфу.

0 голосов
/ 09 августа 2010

Когда у вас есть приложение с пользовательским интерфейсом (например, калькулятор), большинство из вышеперечисленного будет одинаковым и не будет иметь большого значения, но если ваш проект представляет собой просто пакет (некоторый движок), то вы можете иметь разные исполняемые файлы (приложения)/ frontend с пользовательским интерфейсом, который использует ur bundle в качестве backend) вашего комплекта, который вы можете указать, используя другое имя исполняемого файла.И в идеале, как сказал Кендалл, название пакета будет таким же, как и название продукта.Обратитесь к Руководству по системе сборки Xcode для лучшего понимания.Надеюсь это поможет.:-).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...