No description
  • HTML 64%
  • Swift 29.2%
  • Python 3.5%
  • Shell 3.3%
Find a file
Pandi 4991c810ac
Some checks are pending
Build iOS App / tests (push) Waiting to run
Build iOS App / build (push) Waiting to run
fix(upload): the vault folder is Coding/, not 08_Coding/
2026-11-02 09:24:07 +01:00
.github/workflows ci: run the layout tests on every push and PR 2026-10-30 00:27:34 +01:00
mockup Papier-Geometrie nach echten Normen (DIN 16552-1 / DIN 5008) und Drucken 2026-09-14 10:41:02 +02:00
native fix(upload): the vault folder is Coding/, not 08_Coding/ 2026-11-02 09:24:07 +01:00
tests fix(upload): point at the vault folder that exists, and only upload .swiftpm metadata 2026-10-30 00:38:51 +01:00
.gitignore chore: drop the dead sync stub, the tracked build artifact, and the sync claims 2026-10-30 09:16:07 +01:00
README.md chore: drop the dead sync stub, the tracked build artifact, and the sync claims 2026-10-30 09:16:07 +01:00

🍏 Notizen — native iPad-App (Obsidian-kompatibel)

Tippen + Apple Pencil. Notizen werden als .md-Dateien (plus .pking/.svg) in einen Ordner geschrieben, den man in den Einstellungen per Dokumenten-Picker auswählt — z. B. den Nextcloud-Share. Das ist der unterstützte Weg in den Vault. Ein Sync in der App (WebDAV, Anmeldung, Hintergrund-Abgleich) ist nicht implementiert.

Stand des Repos

  • Kein git remote: dieses Arbeitsverzeichnis ist die einzige Kopie. Es gibt keinen zweiten Klon — was hier weg ist, ist weg.
  • Sicherung: ein git-Bundle liegt unter ~/backups/git/ipad-notizen-app-2026-10-30.bundle (git bundle verify läuft sauber durch, komplette Historie). Zurückspielen: git clone ~/backups/git/ipad-notizen-app-2026-10-30.bundle <ziel>.
  • CI: .github/workflows/build.yml startet bei push auf master (oder manuell in der GitHub-Oberfläche). Ohne Remote gibt es diesen Push nicht — der Workflow ist in diesem Repo also nie gelaufen. Was lokal läuft, sind die Tests: pytest -q tests/.

Projektstruktur

native/
  project.yml          # XcodeGen-Definition (erzeugt das .xcodeproj)
  Sources/             # Swift-Quellcode
    NotizenApp.swift       # App-Einstieg
    ContentView.swift      # 3-Spalten-Layout
    SidebarView.swift      # Bibliothek
    NotesListView.swift    # Notizliste
    NoteEditorView.swift   # Editor + Titel
    DrawingCanvas.swift    # PencilKit-Zeichenfläche
    NoteStore.swift        # Datenhaltung + lokale Persistenz
    SettingsView.swift     # Einstellungen
    Models.swift           # Note / NoteFolder
    AppIntents.swift       # Siri & Shortcuts
  exportOptions.plist  # Signing-Einstellungen
  Notizen/Notizen.entitlements
mockup/                # Browser-Prototypen (V1–V8)
.github/workflows/     # Cloud-Build ohne lokalen Mac

3 Wege zu bauen

Weg A — Mac mini M1 (empfohlen, lokal)

brew install xcodegen
cd native
xcodegen generate
open Notizen.xcodeproj
# In Xcode: Signing Team = deine Apple-ID wählen, Run ▶

Weg B — Cloud-Build (GitHub Actions, kein Mac nötig)

  1. Push dieses Repo nach GitHub.
  2. In den Repo-Settings Secrets APPLE_TEAM_ID setzen.
  3. .ipa-Artifakt aus dem Actions-Run laden → via AltStore installieren.

In diesem Repo ist der Workflow noch nie gelaufen: es gibt keinen Remote, also auch keinen Push, der ihn auslöst (siehe „Stand des Repos"). Die Schritte oben beschreiben, was nötig wäre.

Ohne Signing-Secrets baut der Job nur den Simulator-Build (grün, aber kein .ipa). Für ein .ipa in der Cloud müssen zusätzlich Team-ID und ein importiertes Signing-Zertifikat (.p12 als Secret + Keychain-Schritt) vorhanden sein — der Workflow hat dafür noch keinen Schritt. Sicher und ohne Zusatzaufwand kommt das .ipa deshalb aus Weg A oder C.

Weg C — Lokal signiert, manuell

xcodebuild -project Notizen.xcodeproj -scheme Notizen \
   -destination 'generic/platform=iOS' \
   -archivePath build/Notizen.xcarchive archive \
   -allowProvisioningUpdates

Sideloading — der ehrliche Rahmen

  • Kostenlose Apple-ID: Signatur 7 Tage gültig, Re-Signatur über AltStore/AltServer (der Mac/PC muss dabei im selben WLAN laufen). Alles Apple-API bleibt frei nutzbar (PencilKit, iPadOS-27-Features, Siri, WebDAV).
  • Bezahlter Account ($99/Jahr): Signatur 365 Tage gültig — nur 1×/Jahr neu signieren; AltStore optional.
  • Sideloading sperrt keine Framework-Fähigkeiten — nur der 7-/365-Tage-Rhythmus ist der Unterschied zur App-Store-Auslieferung.

Features (Stand)

  • ✏️ PencilKit-Zeichenfläche, Handschrift bleibt PKDrawing-Original, SVG-Kopie für Obsidian
  • 📄 3 Blatt-Modi (Seite / Scroll / Unendlich) — einstellbar
  • ☁️ Sync in der App: nicht implementiert — Notizen landen als .md im Ordner, den man per Dokumenten-Picker wählt (z. B. dem Nextcloud-Share); zusätzlich gibt es native/upload-sources-to-vault.sh / native/upload-to-vault.sh
  • 🗣️ OCR/Handschrift→Text on-device (iPadOS 27 PKStrokeRecognizer)
  • ⚙️ Einstellungen: Theme, Papier, Schriftgröße, Speicherort
  • 🎙️ Siri/Shortcuts: „Neue Notiz“, „Notiz öffnen: …“

Ziel-Plattform

  • iPadOS 27 (build: macOS 26 / Xcode 26), iPad-first. iPhone als Anzeige-Client ok.