Files
web-terminal/ios/App/WebTerm/WebTerm.entitlements
Yaojia Wang c4f8b5b47f feat(ios): unblock device builds — dev team, push-entitlements env switch, mic/speech/background keys
DEVELOPMENT_TEAM=C738Z66SRW + target-level CODE_SIGN_IDENTITY (XcodeGen's
settingPreset injects the deprecated "iPhone Developer" at target level, so a
project-level override cannot win). Device build now BUILD SUCCEEDED on the free
personal team with an on-the-fly 7-day profile.

aps-environment lives in a new WebTerm.entitlements that is NOT attached by
default: CODE_SIGN_ENTITLEMENTS expands ${WEBTERM_PUSH_ENTITLEMENTS}, empty
unless set at xcodegen time. Proven both ways — attaching it on a free team
fails with "Personal development teams ... do not support the Push
Notifications capability".

Also pins SwiftTerm to exactVersion 1.13.0: the floating "from: 1.13.0" now
resolves to 1.15.0, whose new public hasActiveSelection collides with the local
one in TerminalScreen.swift:328 and broke every generate+build.
2026-07-30 12:45:08 +02:00

29 lines
1.1 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<!--
OPT-IN ONLY — this file is NOT attached to the target by default.
The signing account is a FREE personal Apple team (Team ID C738Z66SRW), and a
free team cannot enable the Push Notifications capability. Attaching
aps-environment unconditionally makes every device build fail with
"Provisioning profile ... doesn't support the Push Notifications capability".
Attach it only on a paid-team machine, by exporting the frozen env switch at
generate time (see ios/README.md):
WEBTERM_PUSH_ENTITLEMENTS=App/WebTerm/WebTerm.entitlements xcodegen generate
With the variable unset, project.yml resolves CODE_SIGN_ENTITLEMENTS to the
empty string, so no entitlements file is signed in.
aps-environment=development is the sandbox APNs environment (dev builds +
TestFlight-from-Xcode). A distribution build must flip it to "production";
keep that flip with the release pipeline, not here.
-->
<plist version="1.0">
<dict>
<key>aps-environment</key>
<string>development</string>
</dict>
</plist>