-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use update flutter app icon (#510) #537
base: main
Are you sure you want to change the base?
Conversation
FCM
|
…her-icon-to-generate-icons
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@maksnevor, отписал кое-где просьбы поправить, кое-где сомнения.
assets/icons/launcher/apple.png
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@maksnevor, а почему apple
а два? apple.png
и apple_rounded
? Если один для iOS, а второй для macOS, то какой смысл тогда их называть apple
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
apple - для ios,android. apple_rounded - используется для macos форматов @2x@2x.
assets/icons/launcher/android.png
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@maksnevor, вообще смотрю и думаю об этом всём: чтобы сделать хорошую иконку, нужно так или иначе открывать фотошоп и нарезать эту иконку. Существуют всякие веб сервисы, которые генерируют иконки (они сразу генерируют пачку). Какой алгоритм действий должен быть, чтобы обновить иконки? Открыть фотошоп и нарезать 8-10 картинок?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Существуют, но генерируют они плохие пачки. Теряем много адаптации и форматов.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
А зачем у этого конейтера маппить .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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- А
NODE_VER
- это что? Оно где-то определено? - В Makefile'е везде сейчас используется формат записи переменных среды в виде
$( )
- с круглыми скобками. Давайте будем консистентны и придержимся единого формата.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
А почему иконка 256х256 квардаратная, а, например, 16@[email protected] - скруглённая с отступами?
- Это же разные размеры одной и той же иконки?
- А почему @2x@2x?
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Иконки же не скачиваются. Их скорее размещают, т.к. где-то они уже лежат. И помещают скорее изображения, из которых будут нерезаны иконки.
* `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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Я не понял, почему иконка 256 на 256 сначала, а потом, прочитав инструкцию от Microsoft, понял, что на винде иконка 256 - это максимально оптимальных размер для иконки.
У меня в голове пока 2 сценария:
- Если делаем для каждой ОС свои, то нужно описать требования к изображениям, которые туда кладутся.
- Делаем одну 1024 на 1024 или SVG картиночку (возможно, две - бэкграунд и форграунд, т.к. андойд так требует), из которой как-то самостоятельно нарезаются иконки под все ОС, потому что все эти требования прочитать и учесть - тоже не очень приятная работа.
Makefile
Outdated
node:${NODE_VER} \ | ||
make icon.update dockerized=no | ||
else | ||
npx update-flutter-app-icon dev/update_icons.json |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
При выполнении пишет такое:
mayday@MBP messenger % make icon.update
npx update-flutter-app-icon dev/update_icons.json
Need to install the following packages:
[email protected]
Ok to proceed? (y)
Т.е. это надо устанавливать? А куда? Не лучше тогда в npm i --dev update-flutter-app-icon
какой-нибудь делать, чтобы через npm вызывать?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Не app_icon
, а icon
должен быть префикс у файлов. .appiconset
же имеет файл Contents.json
, там написаны префиксы всех иконок. Аналогично и с iOS.
Makefile
Outdated
node:${NODE_VER} \ | ||
make icon.update dockerized=no | ||
else | ||
npx update-flutter-app-icon dev/update_icons.json |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
При выполнении мне пишет вот такое что-то (иконка там есть, но не обновляется):
=== 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