initial commit
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
---
|
||||
epic: 7
|
||||
story: 7.14
|
||||
title: "App Store & Notarization"
|
||||
status: draft
|
||||
---
|
||||
|
||||
## Epic 7 — macOS App (Swift/SwiftUI)
|
||||
**Goal:** A beautiful, native macOS app that feels like it belongs on the platform.
|
||||
|
||||
### Story 7.14: App Store & Notarization
|
||||
|
||||
As a **macOS user**,
|
||||
I want CalcPad to be available on the Mac App Store and as a direct download,
|
||||
So that I can install it through my preferred distribution channel with confidence that it is safe and verified.
|
||||
|
||||
**Acceptance Criteria:**
|
||||
|
||||
**Given** the app is built for distribution
|
||||
**When** the build process completes
|
||||
**Then** the binary is a Universal Binary supporting both Apple Silicon (arm64) and Intel (x86_64)
|
||||
|
||||
**Given** the app is submitted to the Mac App Store
|
||||
**When** Apple reviews the submission
|
||||
**Then** the app passes review because it is properly sandboxed, uses only approved APIs, and declares required entitlements
|
||||
|
||||
**Given** the app is distributed as a direct download (.dmg)
|
||||
**When** the binary is built
|
||||
**Then** it is signed with a Developer ID certificate and notarized with Apple
|
||||
**And** the Hardened Runtime is enabled
|
||||
|
||||
**Given** a user downloads the .dmg from the website
|
||||
**When** the user opens the app
|
||||
**Then** macOS Gatekeeper allows the app to launch without any "unidentified developer" warning
|
||||
|
||||
**Given** the app uses CalcPad engine via FFI
|
||||
**When** the app is sandboxed
|
||||
**Then** the Rust dynamic library is embedded within the app bundle and loads correctly under sandbox restrictions
|
||||
Reference in New Issue
Block a user