Skip to content

Make the iPhone-only device target actually take effect (D-139) - #142

Merged
Considus merged 1 commit into
mainfrom
fix/iphone-only-target-lock
Jul 26, 2026
Merged

Make the iPhone-only device target actually take effect (D-139)#142
Considus merged 1 commit into
mainfrom
fix/iphone-only-target-lock

Conversation

@Considus

Copy link
Copy Markdown
Owner

What

TARGETED_DEVICE_FAMILY: "1" was set only in settings.base, which XcodeGen writes at PBXProject level. XcodeGen independently writes "1,2" into every target, and target level beats project level in Xcode.

Verified against the generated pbxproj before this change:

Scope Debug Release
<PROJECT> 1 1
Catchlight (app) 1,2 1,2
CatchlightWidgets 1,2 1,2
CatchlightTests / UITests 1,2 1,2

So the iPhone-only decision from PR #134 (2026-07-23) has been inert since it landed. Submitting today would still have triggered iPad App Review and iPad screenshot requirements.

Change

Repeat TARGETED_DEVICE_FAMILY: "1" in each of the four targets' own settings.base, and note in settings.base why the project-level value is not sufficient on its own.

Verification

xcodegen generate, then parse the pbxproj and assert every XCBuildConfiguration reachable from the project and from each native target:

OK  <PROJECT>          Debug/Release = 1
OK  Catchlight         Debug/Release = 1
OK  CatchlightWidgets  Debug/Release = 1
OK  CatchlightTests    Debug/Release = 1
OK  CatchlightUITests  Debug/Release = 1

UISupportedInterfaceOrientations~ipad is left in Info.plist — now inert, and out of scope here.

Found by the nightly audit, 2026-07-26. Recorded as D-139.

🤖 Generated with Claude Code

PR #134 set TARGETED_DEVICE_FAMILY: "1" in settings.base, which XcodeGen
writes at PBXProject level. XcodeGen also writes its own "1,2" into every
target, and target level beats project level in Xcode — so all four targets,
including the app, still declared iPad support. The lock has been inert since
2026-07-23: a submission today would still have drawn iPad App Review and
iPad screenshot requirements, the exact thing D-134 was written to avoid.

Repeat the setting in each target's own settings.base. Verified against the
regenerated pbxproj: all four targets and the project now read 1.

D-139.
@Considus
Considus merged commit 2b612d2 into main Jul 26, 2026
4 checks passed
@Considus
Considus deleted the fix/iphone-only-target-lock branch July 26, 2026 17:26
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