Skip to content

Conversation

@Kyle-Ye
Copy link
Collaborator

@Kyle-Ye Kyle-Ye commented Feb 8, 2026

Summary

  • Define OPENSWIFTUI_TARGET_BUNDLE_ID in shared basic configs (OpenSwiftUI / SwiftUI)
  • Move PRODUCT_BUNDLE_IDENTIFIER from pbxproj to target xcconfig files using the shared variable
  • Move PRODUCT_NAME to common.xcconfig as $(TARGET_NAME)_$(OPENSWIFTUI_TARGET_BUNDLE_ID)
  • Add INFOPLIST_KEY_CFBundleDisplayName as $(TARGET_NAME) ($(OPENSWIFTUI_TARGET_BUNDLE_ID))

Use OPENSWIFTUI_TARGET_BUNDLE_ID variable defined in shared basic
configs to differentiate OpenSwiftUI vs SwiftUI bundle identifiers.
Move PRODUCT_NAME to common.xcconfig using OPENSWIFTUI_TARGET_BUNDLE_ID
to differentiate product names between OpenSwiftUI and SwiftUI configs.
Add INFOPLIST_KEY_CFBundleDisplayName for a human-readable display name.
@Kyle-Ye Kyle-Ye merged commit 560ced4 into main Feb 8, 2026
6 of 8 checks passed
@Kyle-Ye Kyle-Ye deleted the ci/configuration branch February 8, 2026 11:46
@augmentcode
Copy link

augmentcode bot commented Feb 8, 2026

🤖 Augment PR Summary

Summary: Centralizes Xcode build naming settings by moving bundle/product identifiers out of the .pbxproj and into shared .xcconfig files.

Key changes:

• Adds OPENSWIFTUI_TARGET_BUNDLE_ID to the shared OpenSwiftUI/SwiftUI base configs.

• Updates target configs to derive PRODUCT_BUNDLE_IDENTIFIER from that variable.

• Moves PRODUCT_NAME and CFBundleDisplayName into basic/common.xcconfig to suffix products per variant.

• Updates Example project product references to align with the new naming.

🤖 Was this summary useful? React with 👍 or 👎

Copy link

@augmentcode augmentcode bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review completed. 2 suggestions posted.

Fix All in Augment

Comment augment review to trigger a new review at any time.

@@ -1,3 +1,6 @@
PRODUCT_NAME = $(TARGET_NAME)_$(OPENSWIFTUI_TARGET_BUNDLE_ID)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PRODUCT_NAME = $(TARGET_NAME)_$(OPENSWIFTUI_TARGET_BUNDLE_ID) makes the built product name vary between SwiftUI vs OpenSwiftUI configurations, but the Example project product references are hardcoded to *_SwiftUI in project.pbxproj. If you build an OpenSwiftUI* configuration, Xcode may end up pointing at non-existent products (e.g. expecting Example_SwiftUI.app while producing Example_OpenSwiftUI.app).

Severity: medium

Other Locations
  • Example/Example.xcodeproj/project.pbxproj:53
  • Example/Example.xcodeproj/project.pbxproj:55
  • Example/Example.xcodeproj/project.pbxproj:58
  • Example/Example.xcodeproj/project.pbxproj:60

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.

/* Begin PBXFileReference section */
271D81642BB1E8E300A6D543 /* OpenAttributeGraph */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = OpenAttributeGraph; path = ../../OpenAttributeGraph; sourceTree = "<group>"; };
275751E32DEE1441003E467C /* TestingHost.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = TestingHost.app; sourceTree = BUILT_PRODUCTS_DIR; };
275751E32DEE1441003E467C /* TestingHost_SwiftUI.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = TestingHost_SwiftUI.app; sourceTree = BUILT_PRODUCTS_DIR; };
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The UI test TEST_HOST build setting in this .pbxproj is still hardcoded to $(BUILT_PRODUCTS_DIR)/TestingHost.app/..., but the product name/reference is now TestingHost_SwiftUI.app (and potentially TestingHost_OpenSwiftUI.app in OpenSwiftUI configs). This looks like it would prevent the UI tests from finding/launching the host app.

Severity: high

Other Locations
  • Example/Example.xcodeproj/project.pbxproj:1107
  • Example/Example.xcodeproj/project.pbxproj:1127
  • Example/Example.xcodeproj/project.pbxproj:1147
  • Example/Example.xcodeproj/project.pbxproj:1167

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.

@codecov
Copy link

codecov bot commented Feb 8, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 26.21%. Comparing base (7408fcf) to head (fd2f6ac).
⚠️ Report is 2 commits behind head on main.

Additional details and impacted files
@@             Coverage Diff             @@
##             main     #780       +/-   ##
===========================================
+ Coverage   13.14%   26.21%   +13.06%     
===========================================
  Files         619      649       +30     
  Lines       36745    40204     +3459     
===========================================
+ Hits         4829    10538     +5709     
+ Misses      31916    29666     -2250     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant