| 1 | # Oficina Memoria for Apple platforms |
| 2 | |
| 3 | Memoria provides permission-aware search, source passages and team note creation. Optional Apple Foundation Models generation runs on-device after a fresh server search, using up to five current passages. Search needs the team server; this is not an offline corpus. On unsupported devices search remains available. |
| 4 | |
| 5 | The SwiftUI client supports macOS 14+, iOS 17+ and iPadOS 17+. Mac uses a split |
| 6 | window with a sidebar, toolbar and form sheets; iPhone collapses navigation into |
| 7 | native columns and sheets. iPad uses the wider split layout. Both appearances |
| 8 | use system typography and controls. Credentials stay in the per-app Keychain; |
| 9 | responses and generated answers are held in memory. |
| 10 | |
| 11 | Build Mac with `native/scripts/build-mac.sh`; build the simulator app with |
| 12 | `native/scripts/build-iphone.sh`. For a physical device use |
| 13 | `OFICINA_DEVELOPMENT_TEAM=<team> native/scripts/build-iphone.sh device`. Generate |
| 14 | the iOS project with `xcodegen generate --spec native/ios/project.yml`, then build |
| 15 | `MemoriaPhone` in Xcode. Physical devices require your development team. |
| 16 | The generated projects and build products are ignored. |
| 17 | |
| 18 | The Swift package and the Go server module (`go.mod`, |
| 19 | `amadan.net/rastrillo/native/server`) both pin Rastrillo Native main |
| 20 | `2a5d07b2c8d3dfb3fd8526dc7e1c802f97865c67` (`native/apple/Package.swift`). |
| 21 | |
| 22 | Browser sign-in requires the new backend `/native/` routes. A server that has |
| 23 | not received this update reports that native support is unavailable. |
| 24 | |
| 25 | `MemoriaReview` is a test-only executable: it accepts a loopback fixture |
| 26 | credential over stdin, renders the real workspace and captures its window. |
| 27 | Set NATIVE_REVIEW_BINARY and NATIVE_REVIEW_OUTPUT when running `go test |
| 28 | ./internal/memoria -run TestNative` to exercise it against the app's real test |
| 29 | server. It is never included in the Mac or iOS app bundle. |
| 30 | |
| 31 | For XCTest interaction checks against the isolated authenticated fixture, set |
| 32 | `NATIVE_REVIEW_SIMULATOR=<UDID> NATIVE_REVIEW_UI_TESTS=1` with a writable |
| 33 | `NATIVE_REVIEW_OUTPUT` PNG path when running the native Go fixture test. First |
| 34 | build/install the separate ReviewPhone target. The UI tests create and inspect |
| 35 | fixture notes and never connect to a real account. Xcode result bundles |
| 36 | are under `native/build/ios/Logs/Test`. Review credentials enter only the isolated |
| 37 | review app's Documents directory and are removed when the fixture exits. |
| 38 | |