From 6a93cedaa664f85eba50f55f84a19e2c07097c7f Mon Sep 17 00:00:00 2001 From: rzen Date: Tue, 14 Jul 2026 21:21:24 -0400 Subject: [PATCH] Set PRODUCT_NAME to Contextful (fixes ITMS-90129 on macOS) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Mac App Store requires a globally unique CFBundleName, which follows PRODUCT_NAME — 'Notes' is taken (by Notes). The module name stays 'Notes' via PRODUCT_MODULE_NAME so code and tests are untouched; TEST_HOST is pinned explicitly since xcodegen derives it from the target name. --- project.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/project.yml b/project.yml index fd09127..83c916f 100644 --- a/project.yml +++ b/project.yml @@ -56,6 +56,10 @@ targets: GENERATE_INFOPLIST_FILE: true SWIFT_STRICT_CONCURRENCY: complete IPHONEOS_DEPLOYMENT_TARGET: "26.0" + # The app's PRODUCT_NAME is Contextful; xcodegen derives TEST_HOST + # from the target name, so it must be pinned explicitly. + TEST_HOST: $(BUILT_PRODUCTS_DIR)/Contextful.app/Contextful + BUNDLE_LOADER: $(TEST_HOST) Notes: type: application @@ -81,6 +85,8 @@ targets: settings: base: PRODUCT_BUNDLE_IDENTIFIER: dev.rzen.indie.Notes + PRODUCT_NAME: Contextful + PRODUCT_MODULE_NAME: Notes INFOPLIST_FILE: Notes/Resources/Info-iOS.plist CODE_SIGN_ENTITLEMENTS: Notes/Resources/Notes-iOS.entitlements GENERATE_INFOPLIST_FILE: false @@ -122,7 +128,8 @@ targets: settings: base: PRODUCT_BUNDLE_IDENTIFIER: dev.rzen.indie.Notes - PRODUCT_NAME: Notes + PRODUCT_NAME: Contextful + PRODUCT_MODULE_NAME: Notes INFOPLIST_FILE: Notes/Resources/Info-macOS.plist CODE_SIGN_ENTITLEMENTS: Notes/Resources/Notes-macOS.entitlements GENERATE_INFOPLIST_FILE: false