Ім'я набору, ім'я, що виконується, ім'я продукту ... ще щось?


74

Ім'я набору, ім'я, що виконується, ім'я продукту ... більше ??

хтось може допомогти пояснити використання кожного з них у Xcode у проекті iPhone? Вони ніколи не заплутують живих bajezus з мене ... і я втомився робити їх неправильно.

Хтось, будь ласка, поясніть ... навіщо, блін, нам потрібна така різноманітна схема імен для одного середовища програми? і для чого я використовую кожну з них, щоб я міг встромити їх у потрібну крихітну дірку в голові?


Я думаю, ми могли б допомогти вам краще, якби у нас виникла конкретна проблема.
Kendall Helmstetter Gelner

Відповіді:


44

Якщо ви подивитесь на info.plist, він виглядає приблизно так:

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

Тож ви бачите, що зазвичай PRODUCT_NAME дає вам однакове ім’я для набору та те, що бачить користувач.

У деяких випадках вам може знадобитися більш складне відображуване ім'я, яке не підходить для іменування таких речей, як пакети чи виконувані файли, саме тому ви можете змінювати їх самостійно - але це не потрібно. За замовчуванням PRODUCT_NAME має те саме ім'я, що і ім'я проекту, але його також можна замінити в налаштуваннях збірки.

Вам не слід змінювати спосіб їх налаштування в info.plist, якщо у вас немає поважних причин ... просто змініть PRODUCT_NAME.


1
ГАРАЗД! Нарешті трохи ясності. Отже, моє останнє повідомлення в пам’яті - просто пам’ятати ... змінити лише PRODUCT_NAME (і найкраще це зробити у цільовому інформаційному вікні). Дякую!
tbarbe

Чи є якісь інші прапори, крім цих трьох, які можуть бути корисними?
літній знак

Існує маса потенційно корисних налаштувань, які ви можете ввімкнути в списку, вам слід погуглити повний список, щоб побачити, що можливо.
Kendall Helmstetter Gelner

41

Ім'я набору - це ім’я папки, де буде зберігатися ваш додаток (включаючи виконуваний файл та всі ресурси) (Cool Program.app).

Виконуване ім'я - це двійкове ім'я програми, тобто Cool Program.app/CoolProgram

Відображувана назва пакета - це те, що буде показано на екрані iPhone, наприклад Cool Prog (оскільки Cool Program, ймовірно, не поміститься на трампліні).

І, Apple стверджує, що відображуване ім’я набору має відповідати імені набору, тобто ви не можете використовувати ім’я набору TheApplication та відображуване ім’я набору Щось інше


4
Принаймні, у нас деякі програми відхилено з цієї причини 2 роки тому. Можливо, зараз це змінено, або рецензенти додатків не такі злі :)
Микола Ольшевський

3
Відображуване ім’я набору може відрізнятися від назви набору зараз, з цієї причини мій додаток не відхиляється.
RRN

0

Коли у вас є програма з користувальницьким інтерфейсом (наприклад: Калькулятор), то більшість з перерахованих вище буде однаковими і не має великого значення, але якщо результат вашого проекту - це просто пакет (деякий движок), тоді ви можете мати різні виконувані файли (apps / frontend з UI, який використовує ur bundle як серверну частину) вашого пакета, який ви можете вказати, використовуючи інше ім'я виконуваного файлу. І в ідеалі, як Кендалл сказав, назва набору буде такою ж, як назва продукту. Зверніться до системного посібника Xcode Build для кращого розуміння. Сподіваюся, це допомагає. :-).


0

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


-2

Згідно з документами Apple.com, це прямо протилежне тому, що ви очікували.

"Відображуване ім'я" - це АКТУАЛЬНА назва пакета.

Але "Назва пакета" - це лише коротка назва "DISPLAY".

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

CFBundleName (Рекомендовано, Локалізується) Фактична назва пакета.

CFBundleDisplayName (Рекомендовано, Локалізується) Коротке відображуване ім’я набору.

Тьфу.


4
"Відображувана назва пакета" - це коротка назва.
Шарль Кавальканте
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.