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

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

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

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

5 ответов

Решение

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

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

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

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

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

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

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

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

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

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

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

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

"Отображаемое имя" - это ФАКТИЧЕСКОЕ имя пакета.

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

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

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

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

Тьфу.

Другие вопросы по тегам