Skip to content

Latest commit

 

History

History
169 lines (156 loc) · 13.2 KB

File metadata and controls

169 lines (156 loc) · 13.2 KB

Implementation References

This bibliography records the primary API, design, toolchain, sample-code, and product references used while implementing Vault. A reference listed here does not by itself mean that source code was copied. Exact Apple sample-code portions used by the app and their license texts are retained in Third-Party Notices.

Tutorials are comparative references unless an applied scope is explicitly described here or in the third-party notices. Public API use alone does not mean sample code was copied.

Product feature references

  • Filtering and sorting persistent data: the query-owning wrapper view, static predicate(searchText:), custom initializer, and _notes = Query(filter:sort:order:) dynamic-query pattern.
  • localizedStandardContains(_:): user-facing title and body search follows the locale-aware comparison Apple recommends for search fields.
  • SwiftUI search: searchable(text:placement:prompt:) and system search behavior.
  • Create, update, and delete data: the rendered MovieList and MovieDetail units are comparative references for item-backed creation, deletion, sheet flow, and direct-model editing. Their final rendered code isn't present in the starter ZIP, so the ZIP's MIT license isn't asserted for those units.
  • Adding and editing persistent data in your app (fixed ZIP): AnimalEditor and AnimalListView illustrate optional-model, local-state, Save-time update-or-insert, Cancel-without-mutation, and Boolean-sheet presentation patterns. Vault retains its validation, transactions, rollback, timestamps, text normalization, and error UI.

Shared platform references

  • Food Truck: General, Navigation, feature folders, and StoreKit transaction listeners.
  • Backyard Birds: app-specific feature folders, StoreKit configuration, and adaptive navigation.
  • ml-comlet: Services, model separation, localization, and Supporting Files.
  • Foundation Models sample: the downloadable availability switch is a comparison source. Coffee Game and Origami, listed below, provide response, cancellation, prompt, and error-handling patterns; the app protocol boundary, validation policy, stable vocabulary, and product instructions are app-specific.
  • Generate dynamic game content with guided generation and tools (fixed ZIP): documents nonstreaming respond(to:), response-content, availability, task, cancellation, and app-owned-instructions patterns used as implementation guidance.
  • Origami: Crafting a dynamic tutorial for Apple Intelligence (fixed ZIP): documents the Prompt builder, post-response cancellation check, and iOS 27 Foundation Models error-type branching used as implementation guidance. Dynamic profiles, image prompts, streaming, and the sample's cache are not used by Vault.
  • Generative AI Human Interface Guidelines and Foundation Models acceptable-use requirements: people remain in control through explicit AI labeling, cancellation, review guidance, a usable non-AI path, and use-case-specific safety boundaries.
  • Instructions: developer-owned behavior remains in trusted instructions; user-provided content is delimited in the lower-priority prompt and is never interpolated into instructions.

Platform verification

  • App icons and Creating your app icon using Icon Composer: Resources/AppIcon.icon is the sole primary app-icon source. Xcode renders the required platform, appearance, and legacy-size variants from its layered artwork.
  • Localizing and varying text with a string catalog and Managing your app’s information property list: interface text uses Localizable.xcstrings; the localizable CFBundleDisplayName and CFBundleName values use the target-specific InfoPlist String Catalog.
  • Accessibility fundamentals: standard navigation, forms, search, and buttons retain inferred semantics.
  • Setting up StoreKit Testing in Xcode: local StoreKit configurations and scheme selection.
  • StoreKit Test: SKTestSession loads the source configuration by URL for product, verified purchase and finishing, restore, and Daily Pass boundary tests. Tests run serially because all test sessions control one environment; the configuration remains outside the app bundle.
  • Understanding StoreKit workflows (fixed ZIP): documents grouped ProductID structure and unfinished, current-entitlement, update, verified-processing, and finish() patterns.
  • Implementing a store in your app using the StoreKit API (fixed ZIP): the 2026 sample is used only to cross-check current behavior; no additional implementation was taken from this distribution.
  • iOS & iPadOS 26.6 RC Release Notes: Apple records the earlier iOS 26.5 Simulator SKTestSession connection defect as fixed under StoreKit (FB22500243). This is historical troubleshooting evidence, not a requirement to install an iOS 26.6 Simulator runtime. Xcode 26.6 ships the iOS 26.5 SDK; Apple does not currently distribute a 26.6 Simulator runtime. StoreKit end-to-end verification therefore remains gated on an Apple-distributed compatible runtime, compatible physical device, or TestFlight.
  • Apple Developer Forums: iOS 26.5 CLI StoreKit report: historical, non-normative field evidence for the earlier Code=3 failure and IDE-only workaround; it doesn't explain or replace evidence for the iOS 27 run.
  • Select an App Store version release option and Submit an In-App Purchase: release timing is configured separately from App Review, and each first product type is submitted with the initial app version. No current submission date is assumed in this repository.
  • Transaction.currentEntitlements: the all-product sequence supplies verified current transactions, including the latest non-renewing purchase, and the client filters them against the app catalog.
  • Task cancellation and sleep: the Daily Pass monitor retains and cancels its task, uses a cancellable sleep, and receives the same injectable wall clock as entitlement calculation.
  • Handling subscriptions billing: app-owned duration, restoration, and cross-device responsibilities for a non-renewing subscription.
  • Swift API Design Guidelines: role-based type names, labeled weakly typed parameters, clarity at the call site, fluent method names, and concise Markdown comments for reusable APIs.
  • Writing: assistant and commerce diagnostics remain internal, while localized interface errors use plain language and give a clear retry action.
  • swift-format: the Swift toolchain formatter and strict linter enforce the repository's pinned two-space indentation, import ordering, line length, documentation, and force-unwrap safety rules. Swift does not prescribe this as the only valid style; adopting one identical configuration across the five apps is a local consistency decision.

Implementation notes and local decisions

  • Xcode support and App Store Connect release notes: the App Store submission toolchain remains a release gate. Re-run build, test, Analyze, and Archive checks with the stable Xcode selected for the final release.
  • Foundation Models updates: Swift 6.4 builds map the iOS 27 LanguageModelError, SystemLanguageModel.Error, and LanguageModelSession.Error types. A compiler condition keeps those SDK-27 declarations out of Swift 6.3 builds; iOS 26 uses the common safe fallback without reintroducing the deprecated generation type. Origami's downloadable error translation is the comparison source for the shared SystemLanguageModel.Error and LanguageModelError branches.
  • Supporting languages and locales: locale support is checked before sending a prompt.
  • Preserving SwiftData models: ModelContainer, ModelContext, and @Query provide local persistence.
  • ModelContext transaction and rollback: user-initiated mutations run inside performTransactionOrRollback(_:), so failures in either the changes or their save discard the complete pending unit before the app presents an error. The wrapper name and shared alert policy are family-wide implementation decisions.
  • Privacy manifest files: the manifest currently declares no tracking or collected data. Recheck source dependencies and the final Archive with stable Xcode before confirming NSPrivacyAccessedAPITypes and App Store privacy answers.

Resources/AppIcon.icon is the current shipping icon source. Apple's icon documentation governs packaging and appearance rendering. Inspect every rendered appearance and size in a fresh stable-Xcode Archive. The final determination is the submitted build's App Review; App Review guideline 2.3.9 still requires accurate metadata and sufficient rights. Support case 20000121467132 is historical correspondence about the former icon.

Apple doesn't prescribe one universal app-folder layout. Vault therefore follows the recurring official-sample pattern of app, model, service, resource, and feature-specific groups. The Daily Pass is an app-owned policy: it uses StoreKit's verified purchase date plus 24 hours and the device wall clock, without a server.

The downloaded samples include their own Apple or MIT license notices. Vault adapts the relevant patterns instead of redistributing any sample project unchanged.