Skip to content

Bundle ID: --bundle-id and a GUI field, kept with the project and set on every update - #696

Open
danoli3 wants to merge 2 commits into
openframeworks:masterfrom
danoli3:bundle-id
Open

danoli3 wants to merge 2 commits into
openframeworks:masterfrom
danoli3:bundle-id

Conversation

@danoli3

@danoli3 danoli3 commented Nov 1, 2026

Copy link
Copy Markdown
Member

Updated cmdLine from 0.121.0 to 0.122.0 and PG GUI from 0.116.0 to 0.117.0

A bundle id changed in Project.xcconfig (or the Xcode target) was reset to cc.openFrameworks.<name> on every update, since the PG rewrites both from the template.

APP_BUNDLE_ID = com.example.myApp
  • kept: read on every create / update from config.make APP_BUNDLE_ID, then CMakeLists.txt, the Xcode target settings, Project.xcconfig, ofApp/build.gradle applicationId; the templates' own ids (cc.openFrameworks.${TARGET_NAME}, com.openFrameworks.emptyExample, cc.openframeworks.<name>) don't count. So an existing project with a custom Project.xcconfig id keeps it from its first update with this PG
  • written: config.make (created for ios / tvos, like PROJECT_FRAMEWORKS), PRODUCT_BUNDLE_IDENTIFIER on every Xcode app target configuration (like MARKETING_VERSION), Project.xcconfig, a literal CFBundleIdentifier in a custom Info.plist ($(PRODUCT_BUNDLE_IDENTIFIER) is left alone), CMake set(APP_BUNDLE_ID ...), Android applicationId (- -> _, Android doesn't allow it)
  • --bundle-id=com.example.myApp: letters, digits, - and dots, at least two parts; a bad value warns and keeps the project's
  • GUI: Advanced options > Bundle ID, filled from the project on import, validated before generating, all 9 locales; help tab and commandLine readme
  • tests (scripts/test_cmdline_args.sh): none by default, set + kept on update, bad value, custom Project.xcconfig id kept (Xcode)

make / CMake read APP_BUNDLE_ID: openframeworks/openFrameworks#8636

Tested on macOS: osx project, edit Project.xcconfig to a custom id, plain update -> kept in config.make / xcconfig / both targets, Xcode -showBuildSettings resolves it for Debug and Release; --bundle-id overrides, bad value kept; literal plist id replaced; CMakeLists gets one set(APP_BUNDLE_ID) before of_add_app; ios new project; android applicationId "com.example.my_app" kept on update; GUI import fills the field, Update writes the edited id, bad id shows the tooltip. Argument tests osx 38 / linux64 37 / vs 33, 0 failures (11 failures on the current master build).

…E_ID and set in Xcode, Project.xcconfig, Info.plist, CMake and Android on every update
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant