Как получить доступ к изображениям (для значков документов) в каталоге активов в редакторе предпочтений продукта Xcode 5

Я думаю, что я буквально на последнем шаге, прежде чем отправлять новое приложение для Mac, и в течение последних нескольких часов я ударяю головой о стену над тем, что, по моему мнению, должно быть действительно, очень просто.

Я разработал значки документов для двух разных типов значков, которые создает и работает с моим приложением. Я создал новую иконку в Images.xcassets и упал соответствующие файлы в зоны перетаскивания.

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

Как получить изображения/значки в каталоге активов, чтобы они отображались в редакторе? В качестве альтернативы, если бы я собирался ввести это вручную в plist, какой формат я использовал бы для ссылки на файл значка из каталога активов?

Я знаю, что, вероятно, мне не хватает простого шага здесь, но я не вижу его!

Ответ 1

Насколько мне известно, Xcode в настоящее время не поддерживает использование .xcassets для значков документов. Это немного странно: редактор .xcassets явно позволяет создавать новые значки, но он не генерирует файлы .icns, он просто помещает все файлы в одну и ту же папку и использует plist для управления ими.

Чтобы создать значок для ваших типов документов, загрузите версию значка 1024x1024 на http://iconverticons.com/online/, чтобы преобразовать его в файл .icns. Кроме того, вы можете использовать сторонний инструмент для создания файла .icns с разными изображениями для разных разрешений. Раньше в Инструментах разработчика использовался отличный инструмент для этого, но я больше не могу его найти.

Как только вы получите файл icns, добавьте его в свой проект, и вы сможете выбрать его как "Значок" для вашего типа документа или внешнего/внутреннего UTI. Наслаждайтесь!

Если честно, может быть, стоит записать ошибку. Развитие Xcode в наши дни так сильно зависит от iOS, возможно, они этого еще не заметили!

Ответ 2

Я сделал это самым простым способом:

  • Добавьте "Новый значок OS X" в images.xcassets и назовите его "DocIcon", например.
  • Перетащите изображения вашего значка документа
  • Просто введите "DocIcon" в название значка вашего документа.

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

Ответ 3

Hej, allesamme,

У меня была такая же проблема, и я исследовал ее несколько дней. Я нашел семейство из четырех решений, первые три из которых не работали для меня: 1. используя файл .png в качестве файла значка типа документа; 2. используя созданный вручную файл .icns в качестве файла значка типа документа; 3. приведенное выше решение и 4. то, что я опишу здесь. Только последняя работала для меня.

Я пробовал следовать духу вышеупомянутого совета и обнаружил, что он не работает, по крайней мере, для моего приложения MacOS. Я нахожусь в OS X 10.9.2 (13C64), где работает Xcode Version 5.1 (5B130a).

Текущая мудрость, похоже, заключается в создании каталога в вашей рабочей области с наименьшим именем и расширением .iconset, в которое помещаются файлы с префиксом icon_ и обычными суффиксами (16x16.png, [email protected], 32x32.png и т.д.)

В информационной панели "Редактор продукта" вы можете перейти в "Типы документов" и связать файл .iconset с полем "Значок". Изображение значка счастливо отображает что-то разумное. Процесс сборки создает файл .icns из этой спецификации и копирует его в ваше приложение.

У меня была периодическая проблема, которую файл .icns не создавал, и я искал ошибочно гавань, включая значок 64x64 в списке. Это не-нет.

Текущую догму Apple по этой проблеме можно найти в официальной документации которая охватывает некоторые детали, которые я замалчивал здесь. Мне не нужно было напрямую редактировать файл Info.plist: все, казалось, работало с интерфейсами, представленными в Xcode.

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