beeware / briefcase

Tools to support converting a Python project into a standalone native application.
https://briefcase.readthedocs.io/
BSD 3-Clause "New" or "Revised" License
2.47k stars 350 forks source link

Icon path specified in pyproject.toml is not recognized when building Xcode format #1838

Closed michelcrypt4d4mus closed 1 month ago

michelcrypt4d4mus commented 1 month ago

Describe the bug

Building macos app and building macos Xcode cannot recognize the same icon path - macos app uses the specified icons without issue whereas macos Xcode does not.

Steps to reproduce

Run briefcase build macos app --update-resources and briefcase build macos Xcode --update-resources in project with an icons configuration.

Expected behavior

Xcode and app shouldn't require separate icons configurations.

Screenshots

No response

Environment

Logs

Building macos app:

$ briefcase build macos app --update-resources

[my_briefcase_app] Updating application code...
Installing src/my_briefcase_app... done

[my_briefcase_app] Updating application resources...
Installing assets/icons/my_briefcase_app/AppIcon.icns as application icon... done

[my_briefcase_app] Removing unneeded app content...
Removing unneeded app bundle content... done

[my_briefcase_app] Application updated.

[my_briefcase_app] Building App...

[my_briefcase_app] Ad-hoc signing app...
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100.0% • 00:02

[my_briefcase_app] Built build/my_briefcase_app/macos/app/my_briefcase_app Server.app

Building macos Xcode:

$ briefcase build macos Xcode --update-resources

[my_briefcase_app] Updating application code...
Installing src/my_briefcase_app... done

[my_briefcase_app] Updating application resources...
Unable to find assets/icons/my_briefcase_app/AppIcon-16.png for 16px application icon; using default
Unable to find assets/icons/my_briefcase_app/AppIcon-32.png for 32px application icon; using default
Unable to find assets/icons/my_briefcase_app/AppIcon-64.png for 64px application icon; using default
Unable to find assets/icons/my_briefcase_app/AppIcon-128.png for 128px application icon; using default
Unable to find assets/icons/my_briefcase_app/AppIcon-256.png for 256px application icon; using default
Unable to find assets/icons/my_briefcase_app/AppIcon-512.png for 512px application icon; using default
Unable to find assets/icons/my_briefcase_app/AppIcon-1024.png for 1024px application icon; using default

[my_briefcase_app] Removing unneeded app content...
Removing unneeded app bundle content... done

[my_briefcase_app] Application updated.

[my_briefcase_app] Building Xcode project...
Build succeeded.
Building... done

[my_briefcase_app] Built build/my_briefcase_app/macos/xcode/build/Release/my_briefcase_app Server.app

Additional context

No response

freakboy3742 commented 1 month ago

Thanks for the report; however, this is operating as intended and documented (app; Xcode). This is because the Xcode template involves compiling the final icon from source, whereas the app template relies on the user providing a pre-compiled icon. As an end-user won't normally need to use both the app and Xcode template for a given project, I don't consider the different format requirements to be a significant imposition.

There is a long-standing feature request (#386) to be able to minimise the number of supplied icons by providing a single high-resolution image and backfill the remaining icons from that single starting point; if this were to be implemented, the inconsistencies between the two platforms would become less significant.

michelcrypt4d4mus commented 1 month ago

cool. as a suggestion then i would link from this part of the documentation which is what i was reading as a new user to the links you provided. as a new user i have been reading a lot of the documentation and i never found those sections.