Prepare Apple App Store distribution (#59)
This commit is contained in:
@@ -9,7 +9,7 @@ actually exercised.
|
||||
|
||||
| Area | Implemented boundary | Automated evidence | Manual release evidence |
|
||||
| --- | --- | --- | --- |
|
||||
| Home tab, remote activity, pull-to-refresh | UIKit renders Rust `MobileHomePage` and typed Commit/Fetch/Pull/Push actions | `mobile_home` unit tests, `git_embedded`, and `crates/apple` bridge tests | Exercise refresh and all four actions against a disposable HTTPS remote, including expired application-token recovery |
|
||||
| Home tab, local history, and optional remote activity | UIKit renders Rust `MobileHomePage` and typed Commit/Fetch/Pull/Push actions | `mobile_home` unit tests, `git_embedded`, and `crates/apple` bridge tests | Verify a clean local store first, then attach a disposable HTTPS remote and exercise refresh and all four actions, including expired application-token recovery |
|
||||
| Passwords tab, navigation, view, and edit | Rust supplies typed paths, fields, drafts, revisions, and mutations; UIKit presents them | `mobile_passwords`, `entry_documents`, `mobile_mutation`, and `mobile_authentication` tests | Open nested entries, edit/save/cancel, and confirm stale-edit recovery |
|
||||
| Swipe move/copy/delete | Rust plans destinations, collisions, dirty-editor handling, and commits; UIKit also exposes accessibility actions | `plans_destinations_collisions_hidden_paths_and_stale_revisions` and authentication serialization tests | Exercise swipe and VoiceOver alternatives; confirm destructive prompts |
|
||||
| TOTP tab and sharing | Rust discovers, caches, parses, selects, and generates OTP data | `mobile_totp`, `otp`, and `mobile_watch` integration tests | Discover entries, read a code, change Watch selection, and verify countdown |
|
||||
@@ -46,8 +46,7 @@ Git, non-TOTP Watch features, and production AutoFill behavior.
|
||||
- Face ID and camera access have purpose strings in `project.yml`. No custom
|
||||
entitlement is currently required: default signing supplies each target's
|
||||
application identifier and Keychain group, WatchConnectivity needs no added
|
||||
capability, and no App Group is used. Alternative-distribution entitlements
|
||||
belong to the final distribution issue.
|
||||
capability, and no App Group is used.
|
||||
|
||||
`cargo test -p ironstorage --test apple_mobile_audit` enforces the source and privacy-manifest
|
||||
parts of this review so those boundaries cannot silently regress.
|
||||
@@ -83,7 +82,8 @@ the tester is ready to enter the passphrase again.
|
||||
## Manual evidence still required
|
||||
|
||||
Record the device model/OS, build commit, and pass/fail result for each manual
|
||||
row above. Physical paired-Watch deployment and WatchConnectivity testing are
|
||||
currently skipped by project direction, so issues closed without that evidence
|
||||
must carry the `untested` label. Do not describe a simulator build or an opened
|
||||
Xcode project as device validation.
|
||||
row above. Simulator validation is required during implementation. The final
|
||||
distribution issue remains open until the approved App Store build is installed
|
||||
and verified on the paired physical iPhone and Apple Watch. Never overwrite that
|
||||
installation with a development-signed build, and do not describe a simulator
|
||||
build or an opened Xcode project as physical-device validation.
|
||||
|
||||
Reference in New Issue
Block a user