Использовать образ системы для статического UIApplicationShortcutItem

При указании домашнего экрана быстрых действий UIApplicationShortcutItems В вашем Info.plist есть ли способ использовать образ системы из SF Symbols?

В документах, отмечающих доступные ключи iOS, не указывается ключ для этого, кроме указания одного из предопределенных случаев перечисления из UIApplicationShortcutItemIconType такие как UIApplicationShortcutIconTypeSearch,

Похоже, можно использовать образ системы при создании динамических быстрых действий через новый инициализатор UIApplicationShortcutIcon.init(systemImageName: String), Кажется странным, что это не было бы доступно для статических быстрых действий.

0 ответов

Использовать UIApplicationShortcutItemIconSymbolName вместо того UIApplicationShortcutItemIconFile в вашем Info.plist.

Похоже, что нет возможности использовать их напрямую. Но так как не так много символов, которые вам нужно использовать одновременно статически, вот решение:

  1. Выберите нужный символ и экспортируйте его из SF Symbols.app:

  1. Импортируйте его в Assets.xcassets:

  1. Используйте это имя для ключа UIApplicationShortcutItemIconFile:

Результат

Я надеюсь, что Apple скоро добавит прямую поддержку символов SF.

Я прочитал документы и попробовал несколько методов, чтобы заставить это работать, но пришел к выводу, что это невозможно по двум основным причинам:

  • Символы SF доступны только для собственного использования на устройствах под управлением iOS 13 или более ранней версии.
  • Info.plist файл может указывать platform а также device type, но вы не можете указать версию ОС.

В документах Apple также указано, что:

Вы можете использовать символы SF в приложениях, работающих в iOS 13 и новее, watchOS 6 и новее, tvOS 13 и новее. Чтобы просмотреть полный набор символов, загрузите приложение SF Symbols.

Это означает, что вы можете использовать эти символы, но стандартным способом. Вот что вы можете сделать:

  • Загрузите приложение SF Symbols отсюда.
  • Экспортируйте символы, которые хотите использовать, как файлы SVG.
  • Добавьте экспортированные файлы SVG к своим ресурсам.
  • Используйте название актива для значения UIApplicationShortcutItemIconFile ключ.

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

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