App Store Connect requires an iPad build to support all four orientations unless it gives up Split View and Slide Over, so every screen has to survive being wide and short. That was the one part of the iPad change nobody had seen. Rotating the simulator window from outside does not reach iOS at all. The window turned; the device kept reporting portrait, the status bar stayed on the short edge, and the app never received an orientation change. So this rotates from inside, with `XCUIDevice.shared.orientation`, which is the one rotation the app is guaranteed to get. It signs in, photographs Home, Messages, Calls and Account both ways up, then opens a conversation into the right-hand column and photographs it in portrait, both landscapes, upside down, and in landscape with the keyboard up, which is the case most likely to leave the transcript no room. All of them hold: the list stays on the left, the conversation on the right, and with the keyboard up the composer and header stay visible while the transcript shrinks. Credentials come from the environment only, since this repository is public. It skips on a phone rather than photographing the phone layout and calling it iPad. `ipad-build/` is ignored alongside `ci-build/`, for the same reason. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
46 lines
1.4 KiB
Plaintext
46 lines
1.4 KiB
Plaintext
# Xcode
|
|
build/
|
|
DerivedData/
|
|
*.xcuserstate
|
|
xcuserdata/
|
|
*.xcscmblueprint
|
|
*.xccheckout
|
|
|
|
# Derived data from the documented test command, which passes
|
|
# `-derivedDataPath ci-build`. Note this does NOT match the `build/` rule above
|
|
# — that matches a directory named exactly "build" — and 3,500 files of index
|
|
# and compilation cache were staged once because of it.
|
|
ci-build/
|
|
# The iPad simulator build used to photograph the two-column layout. The same
|
|
# derived-data shape as ci-build, and just as large.
|
|
ipad-build/
|
|
|
|
# Same trap, second spelling: the signed device build uses
|
|
# `-derivedDataPath device-build`. Any new derived-data path needs a line here.
|
|
device-build/
|
|
|
|
# XcodeGen output — regenerate with `xcodegen generate`.
|
|
# Comment the next line out if you prefer to commit the project file.
|
|
FlamenetMessenger.xcodeproj/
|
|
|
|
# macOS
|
|
.DS_Store
|
|
|
|
# Swift Package Manager
|
|
.build/
|
|
.swiftpm/
|
|
|
|
# Secrets. `.env` holds the database password, the at-rest key, the issuer
|
|
# signing seed and the Stripe secret — none of which belong in git, and the
|
|
# issuer seed in particular cannot be rotated without invalidating every token
|
|
# already issued.
|
|
.env
|
|
*.pem
|
|
|
|
# ⚠️ The `server/`, `android/` and `engine/` rules that used to be here went
|
|
# with the 2026-08-28 split — those subtrees are separate repositories now and
|
|
# each carries its own ignores. Re-adding a rule here does not affect them.
|
|
|
|
# CI clones the pinned flamenet-e2e here to check Tests/Vectors is current.
|
|
ci-vectors*/
|