[PR #248] [CLOSED] Move bundle identifier and developer settings to xcconfig files #246

Closed
opened 2026-03-02 04:00:54 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/eerimoq/moblin/pull/248
Author: @Copilot
Created: 2/21/2026
Status: Closed

Base: mainHead: copilot/move-app-bundle-identifier


📝 Commits (2)

  • 7ad7ae4 Initial plan
  • 2e0d64e feat: move bundle identifiers and related settings to xcconfig files

📊 Changes

7 files changed (+65 additions, -48 deletions)

View changed files

Configurations/Moblin.xcconfig (+6 -0)
Configurations/MoblinScreenRecording.xcconfig (+5 -0)
Configurations/MoblinTests.xcconfig (+5 -0)
Configurations/MoblinWatch.xcconfig (+6 -0)
Configurations/MoblinWidget.xcconfig (+5 -0)
Configurations/Shared.xcconfig (+5 -0)
📝 Moblin.xcodeproj/project.pbxproj (+33 -48)

📄 Description

Bundle identifier, development team, and other build settings are hardcoded in project.pbxproj, making it painful for contributors to fork and build under their own Apple Developer account.

Changes

New Configurations/ directory

  • Shared.xcconfigDEVELOPMENT_TEAM, SWIFT_VERSION (shared across all targets)
  • Moblin.xcconfig — main app PRODUCT_BUNDLE_IDENTIFIER, IPHONEOS_DEPLOYMENT_TARGET, MARKETING_VERSION
  • MoblinScreenRecording.xcconfig — screen recording extension equivalents
  • MoblinWatch.xcconfig — watch app bundle ID + INFOPLIST_KEY_WKCompanionAppBundleIdentifier, watchOS deployment target
  • MoblinWidget.xcconfig — widget bundle ID, watchOS deployment target
  • MoblinTests.xcconfig — test target bundle ID, deployment target

Each target xcconfig #includes Shared.xcconfig:

#include "Shared.xcconfig"

PRODUCT_BUNDLE_IDENTIFIER = com.eerimoq.Mobs
IPHONEOS_DEPLOYMENT_TARGET = 16.4
MARKETING_VERSION = 30.2028.0

project.pbxproj

  • Added PBXFileReference + Configurations group (visible in Xcode navigator)
  • Wired baseConfigurationReference for all 12 build configurations (Debug + Release × 6 targets)
  • Removed the now-redundant inline settings from each build configuration

To build under a different team/bundle ID, contributors only need to edit Configurations/Shared.xcconfig (team) and the relevant target xcconfig (bundle ID).


Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/eerimoq/moblin/pull/248 **Author:** [@Copilot](https://github.com/apps/copilot-swe-agent) **Created:** 2/21/2026 **Status:** ❌ Closed **Base:** `main` ← **Head:** `copilot/move-app-bundle-identifier` --- ### 📝 Commits (2) - [`7ad7ae4`](https://github.com/eerimoq/moblin/commit/7ad7ae4b270ad15b7621735411d6339453470c68) Initial plan - [`2e0d64e`](https://github.com/eerimoq/moblin/commit/2e0d64e68fefd48e98f0e1f0fb57461a6ea1003b) feat: move bundle identifiers and related settings to xcconfig files ### 📊 Changes **7 files changed** (+65 additions, -48 deletions) <details> <summary>View changed files</summary> ➕ `Configurations/Moblin.xcconfig` (+6 -0) ➕ `Configurations/MoblinScreenRecording.xcconfig` (+5 -0) ➕ `Configurations/MoblinTests.xcconfig` (+5 -0) ➕ `Configurations/MoblinWatch.xcconfig` (+6 -0) ➕ `Configurations/MoblinWidget.xcconfig` (+5 -0) ➕ `Configurations/Shared.xcconfig` (+5 -0) 📝 `Moblin.xcodeproj/project.pbxproj` (+33 -48) </details> ### 📄 Description Bundle identifier, development team, and other build settings are hardcoded in `project.pbxproj`, making it painful for contributors to fork and build under their own Apple Developer account. ## Changes ### New `Configurations/` directory - **`Shared.xcconfig`** — `DEVELOPMENT_TEAM`, `SWIFT_VERSION` (shared across all targets) - **`Moblin.xcconfig`** — main app `PRODUCT_BUNDLE_IDENTIFIER`, `IPHONEOS_DEPLOYMENT_TARGET`, `MARKETING_VERSION` - **`MoblinScreenRecording.xcconfig`** — screen recording extension equivalents - **`MoblinWatch.xcconfig`** — watch app bundle ID + `INFOPLIST_KEY_WKCompanionAppBundleIdentifier`, watchOS deployment target - **`MoblinWidget.xcconfig`** — widget bundle ID, watchOS deployment target - **`MoblinTests.xcconfig`** — test target bundle ID, deployment target Each target xcconfig `#include`s `Shared.xcconfig`: ```xcconfig #include "Shared.xcconfig" PRODUCT_BUNDLE_IDENTIFIER = com.eerimoq.Mobs IPHONEOS_DEPLOYMENT_TARGET = 16.4 MARKETING_VERSION = 30.2028.0 ``` ### `project.pbxproj` - Added `PBXFileReference` + `Configurations` group (visible in Xcode navigator) - Wired `baseConfigurationReference` for all 12 build configurations (Debug + Release × 6 targets) - Removed the now-redundant inline settings from each build configuration To build under a different team/bundle ID, contributors only need to edit `Configurations/Shared.xcconfig` (team) and the relevant target xcconfig (bundle ID). <!-- START COPILOT CODING AGENT TIPS --> --- ✨ Let Copilot coding agent [set things up for you](https://github.com/eerimoq/moblin/issues/new?title=✨+Set+up+Copilot+instructions&body=Configure%20instructions%20for%20this%20repository%20as%20documented%20in%20%5BBest%20practices%20for%20Copilot%20coding%20agent%20in%20your%20repository%5D%28https://gh.io/copilot-coding-agent-tips%29%2E%0A%0A%3COnboard%20this%20repo%3E&assignees=copilot) — coding agent works faster and does higher quality work when set up for your repo. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-03-02 04:00:54 +03:00
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/moblin#246
No description provided.