Upgrade to Pro — share decks privately, control downloads, hide ads and more …

InputLog アーキテクチャ解説

Avatar for dassimen dassimen
September 27, 2026
3

InputLog アーキテクチャ解説

https://github.com/GitHiroki/InputLog のアーキテクチャ解説(AI作成)

Avatar for dassimen

dassimen

September 27, 2026

Transcript

  1. PERSONAL INPUT LOG InputLog SwiftUI · SwiftData · Swift Charts

    · App Intents · iOS 18+ ARCHITECTURE GUIDE
  2. 01 — WHAT IT DOES RECORD REVIEW URL JSON 6

    YouTube InputLog · 02 BACKUP Podcast 7
  3. 02 — BIG PICTURE 2 A 1 ReviewScreen LogEditorSheet DataStore.shared

    SwiftData ModelContainer 1 App B LogInputIntent ReviewScreen InputLog · 03 @Query Intent
  4. 03 — LAYERS App/ InputLogApp @main Views/ DataStore.shared ModelContainer SwiftUI

    ReviewScreen · LogEditorSheet · BackupFooter View Intents/ App Intents LogInputIntent · InputLogShortcuts Logic/ WeekMath · WeeklySummary · TypeDetector · SharedInput · TitleFetcher · Backup Model/ SwiftData SchemaV1.InputLog @Model · MediaType · Genre InputLog · 05 Theme/ Debug/ #if DEBUG
  5. 04 — FILES App/ InputLogApp, DataStore Model/ Schema, InputLog, MediaType,

    Genre Logic/ WeekMath, WeeklySummary, TypeDetector, SharedInput, TitleFetcher, Backup Views/ ReviewScreen, ReviewSections, LogEditorSheet, BackupFooter, Components Intents/ LogInputIntent, InputLogShortcuts Theme/ Theme Debug/ LaunchOptions, SampleData InputLog · 06 InputLog/InputLog/ enum 1 1 #if DEBUG Xcode
  6. 05 — DATA MODEL 1 InputLog enum id UUID typeRaw

    genreRaw date Date type genre typeRaw String title String urlString String? genreRaw String? note String createdAt Date MediaType computed property rawValue unique URL CloudKit nil nil VersionedSchema SchemaV2 InputLog · 07 Model/Schema.swift · Model/InputLog.swift typealias
  7. 06 — FLOW: LAUNCH 01 02 03 04 05 InputLogApp

    DataStore @Query WeeklySumma ry ReviewScreen ModelContainer 6 offset offset 0 InputLog · 08 1 … ‹ › summary Views/ReviewScreen.swift weekLogs computed property
  8. 07 — WEEK LOGIC WeekMath WeeklySummary total byType start 0:00

    end 0:00 genres Calendar(identifier: .iso8601) View InputLog WeekMath · 09 weeks Logic/WeekMath.swift · Logic/WeeklySummary.swift 6
  9. 08 — FLOW: RECORD IN APP LogEditorSheet 1 2 URL

    3a TypeDetector.detect 4 insert save() 3b TitleFetcher typeTouched 5 onSaved InputLog · 10 Views/LogEditorSheet.swift offset
  10. 09 — TYPE DETECTION URL 1 URL 2 youtube.com /

    youtu.be YouTube 3 podcasts.apple.com · listen.style · overcast.fm · pca.st Podcast 4 open.spotify.com Podcast /episode 5 m.youtube.com NSDataDetector InputLog · 11 Logic/TypeDetector.swift YouTube URL
  11. 10 — TITLE FETCH YouTube oEmbed API TypeDetector youtube.com/oembed YouTube

    oEmbed LPMetadataProvider Once InputLog · 12 LPMetadataProvider Logic/TitleFetcher.swift www. 5 5 Task.sleep
  12. 11 — FLOW: SHARE SHEET 01 02 03 04 05

    SharedInput TitleFetcher DataStore Safari YouTube insert URL openAppWhenRun = false InputLog · 13 URL 120 Intents/LogInputIntent.swift · Logic/SharedInput.swift GenreAppEnum save
  13. 12 — BACKUP JSON Backup.Item fileImporter BackupFile Transferable JSON JSON

    Backup.plan 1 sample: true ShareLink Web InputLog InputLog- .json v2 · 14 v2 id "s0" id id SHA256 Logic/Backup.swift · Views/BackupFooter.swift UUID 2
  14. 13 — DEV TOOLS DEBUG Swift Testing -inMemory YES -seedSample

    YES WeekMathTests 5 -openAdd YES WeeklySummaryTests 6 TypeDetectorTests -pasteURL <url> URL URL SharedInputTests URL -weekOffset -1 TitleFetcherTests oEmbed -scrollBottom YES BackupTests v2 InputLog · 15 Debug/LaunchOptions.swift · InputLogTests/
  15. 14 — SUMMARY 3 01 02 1 App Group 1

    App Intent ModelContainer DataStore 1 InputLog 03 · 16 VersionedSchema enum SwiftData @Query docs/architecture.md View unique JSON Web