Имя пакета, Имя исполняемого файла, Имя продукта... что-нибудь еще?
Имя пакета, Имя исполняемого файла, Имя продукта... больше??
Может кто-нибудь, пожалуйста, помогите прояснить использование каждого из них в 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 (рекомендуется, локализуется) Краткое отображаемое имя пакета.
Тьфу.