Conversation
|
FCM |
…her-icon-to-generate-icons
SleepySquash
left a comment
There was a problem hiding this comment.
@maksnevor, отписал кое-где просьбы поправить, кое-где сомнения.
There was a problem hiding this comment.
@maksnevor, а почему appleа два? apple.png и apple_rounded? Если один для iOS, а второй для macOS, то какой смысл тогда их называть apple?
There was a problem hiding this comment.
apple - для ios,android. apple_rounded - используется для macos форматов @2x@2x.
There was a problem hiding this comment.
@maksnevor, вообще смотрю и думаю об этом всём: чтобы сделать хорошую иконку, нужно так или иначе открывать фотошоп и нарезать эту иконку. Существуют всякие веб сервисы, которые генерируют иконки (они сразу генерируют пачку). Какой алгоритм действий должен быть, чтобы обновить иконки? Открыть фотошоп и нарезать 8-10 картинок?
There was a problem hiding this comment.
Существуют, но генерируют они плохие пачки. Теряем много адаптации и форматов.
There was a problem hiding this comment.
@maksnevor, https://icon.kitchen/ генерит хорошие пачки.
| icon.update: | ||
| ifeq ($(dockerized),yes) | ||
| docker run --rm -v "$(PWD)":/app -w /app \ | ||
| -v "$(HOME)/.pub-cache":/usr/local/flutter/.pub-cache \ |
There was a problem hiding this comment.
А зачем у этого конейтера маппить .pub-cache? Это же нода, она не использует .pub-cache.
| ifeq ($(dockerized),yes) | ||
| docker run --rm -v "$(PWD)":/app -w /app \ | ||
| -v "$(HOME)/.pub-cache":/usr/local/flutter/.pub-cache \ | ||
| node:${NODE_VER} \ |
There was a problem hiding this comment.
- А
NODE_VER- это что? Оно где-то определено? - В Makefile'е везде сейчас используется формат записи переменных среды в виде
$( )- с круглыми скобками. Давайте будем консистентны и придержимся единого формата.
| make icon.update dockerized=yes # Docker-wrapped | ||
| ``` | ||
|
|
||
| __Note:__ To update, you need to download new icons along the path `assets/icons/launcher` and match the correct naming: |
There was a problem hiding this comment.
Иконки же не скачиваются. Их скорее размещают, т.к. где-то они уже лежат. И помещают скорее изображения, из которых будут нерезаны иконки.
| * `linux.png` - for linux launcher icon | ||
| * `web_alert.png` - for web launcher icon (alert) | ||
| * `web.png` - for web launcher icon and favicon | ||
| * `windows.png` - for windows launcher icon |
There was a problem hiding this comment.
Я не понял, почему иконка 256 на 256 сначала, а потом, прочитав инструкцию от Microsoft, понял, что на винде иконка 256 - это максимально оптимальных размер для иконки.
У меня в голове пока 2 сценария:
- Если делаем для каждой ОС свои, то нужно описать требования к изображениям, которые туда кладутся.
- Делаем одну 1024 на 1024 или SVG картиночку (возможно, две - бэкграунд и форграунд, т.к. андойд так требует), из которой как-то самостоятельно нарезаются иконки под все ОС, потому что все эти требования прочитать и учесть - тоже не очень приятная работа.
Makefile
Outdated
There was a problem hiding this comment.
При выполнении пишет такое:
mayday@MBP messenger % make icon.update
npx update-flutter-app-icon dev/update_icons.json
Need to install the following packages:
update-flutter-app-icon@0.2.0
Ok to proceed? (y)
Т.е. это надо устанавливать? А куда? Не лучше тогда в npm i --dev update-flutter-app-icon какой-нибудь делать, чтобы через npm вызывать?
There was a problem hiding this comment.
Не app_icon, а icon должен быть префикс у файлов. .appiconset же имеет файл Contents.json, там написаны префиксы всех иконок. Аналогично и с iOS.
Makefile
Outdated
There was a problem hiding this comment.
При выполнении мне пишет вот такое что-то (иконка там есть, но не обновляется):
=== windows ===
/Users/mayday/Developer/Flutter/messenger/windows/runner/resources/app_icon.ico [{"size":-1}]
Error converting file "/Users/mayday/Developer/Flutter/messenger/windows/runner/resources/app_icon.ico": RangeError [ERR_OUT_OF_RANGE]: The value of "value" is out of range. It must be >= 0 and <= 255. Received 319
Resolves #510
Synopsis
Неудобно обновлять иконки, нужно не забыть обновить их для каждой платформы в директориях
android,ios,windows,macos,linux,web.Solution
Использовать пакет
update-flutter-app-icon, к нему написатьupdate_launcher.json, который будет обновлять иконки во всем приложении.Checklist
k::labels applied