Skip to content

Pin apple-private-apis to the default-phone change - #16

Merged
gregakespret merged 2 commits into
fix/mac-escrow-identityfrom
fix/sms-default-phone
Nov 6, 2026
Merged

gregakespret merged 2 commits into
fix/mac-escrow-identityfrom
fix/sms-default-phone

Conversation

@gregakespret

@gregakespret gregakespret commented Nov 6, 2026 •

Copy link
Copy Markdown
Owner

Moves the apple-private-apis submodule from 28fde51 to 1eaf3e0, the head of gregakespret/apple-private-apis#10. With it, AppleAccount::login texts the SMS code to Apple's default trusted phone (trustedPhoneNumber) instead of phone id 1, and the 2FA prompt can answer "text this other phone instead". A switch Apple will not send leaves the login on the text already sent.

The 2FA closure becomes Fn(TfaPrompt) -> Option<TfaAnswer>. TfaPrompt carries the account's trusted phones (masked numbers and ids), the phone texted with the reason for it, Apple's default id, texts (texts sent this sign-in), switch_refused, and refused as before; sent_to() is now a method. TfaAnswer is Code(String) or TextPhone(id). The two console closures in src/test.rs answer with TfaAnswer::Code. The library has no other callers of the closure.

The range also brings in d533ea8, already on the apple-private-apis base branch but never pinned here: a failed GSA init, complete or validate request logs Apple's full reply at warn. Merging this turns that logging on in production.

cargo test --lib: 13 passed. cargo check --bin rustpush-test --features macos-validation-data passes. The rustpush-test binary's own #[test] fn test() ends in an unconditional panic!, so a full cargo test fails on it, with or without this change.

Merge after apple-private-apis#10, with a merge commit, not a squash. gregakespret/export-findmy#30 pins Cargo.lock to 77fb266, this PR's head, on fix/mac-escrow-identity, and a merge commit keeps that commit on the branch.

This conflicts with #9, which changes the same closure argument.

🤖 Generated with Claude Code

https://claude.ai/code/session_018qVCoJNNwwmBEafaSpCBiG

Moves the submodule to 6557333, where the SMS code goes to Apple's
default trusted phone and the 2FA prompt answers with `TfaAnswer`
(a code, or another phone to text). The two console prompts in
src/test.rs answer with `TfaAnswer::Code`.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018qVCoJNNwwmBEafaSpCBiG
Moves the submodule to 1eaf3e0: a phone switch Apple will not send
goes back to the text already sent instead of failing the sign-in,
and TfaPrompt gains `texts` and `switch_refused`.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018qVCoJNNwwmBEafaSpCBiG
@gregakespret
gregakespret merged commit 19b6905 into fix/mac-escrow-identity Nov 6, 2026
4 of 8 checks passed
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