
Day of the Day
App StoreDay of the Day は、任意の日付について、興味深く、ユニークで、公式な記念日を表示するネイティブ macOS アプリです。カレンダーと記念日詳細を表示するメインウィンドウに加え、メニューバーに「今日の記念日」へすぐアクセスできるアイコンを配置し、デスクトップウィジェットも備え、テーマや背景画像で外観を細かくカスタマイズできます。
/// 主な機能
- 1年365日のユニークな記念日を厳選したカレンダー
- 今日の記念日をひと目で確認できるメニューバーアイコン
- WidgetKit によるデスクトップウィジェット
- 種類別フィルター:公式・ユーモア記念日
- テーマと差し替え可能な背景画像
- 透明性のあるペイウォールを備えた StoreKit 2 サブスクリプション
- 4言語対応:英語、ロシア語、日本語、簡体字中国語
- App Sandbox 対応の完全ネイティブ macOS 体験
/// スクリーンショット
プロジェクトについて
Day of the Day はシンプルな着想から生まれました。朝 Mac を開いた瞬間に「今日は何の日か」がわかってほしい。公式の記念日に加え、抱きしめる日からプログラマーの日まで、何百もの「ユニーク」な記念日を収録し、メインウィンドウ、メニューバー、ウィジェットの3か所で同時に表示します。
利用シーン
一目で確認
メニューバーのアイコンをクリックするだけで今日の記念日を表示。ウィンドウを切り替える必要も、作業を中断する必要もありません。
コンテンツ計画
SNS 担当者やコンテンツ制作者向けに、1年365日の話題のネタを提供。明日、来週、任意の日のネタを事前にチェックできます。
知的好奇心
10月16日が「上司の日」、3月20日が「国際幸福デー」だと知る。毎日のちょっとした発見。
技術的な決定
SwiftUI + AppKit のハイブリッドアーキテクチャ
メインウィンドウは完全に SwiftUI で構築されていますが、ステータスバーアイテムとポップオーバーは古典的な AppDelegate と NSStatusItem、NSPopover で制御されています。ポップオーバーの中身は SwiftUI ビューをラップした NSHostingView──ネイティブな AppKit コンテナの中で最新の UI フレームワークを使う形です。
@AppStorage による単一の真実
ユーザー設定はすべて1つのファイルに static @AppStorage プロパティとして集約されています。これによりメインウィンドウ、ポップオーバー、ウィジェットの間の同期問題をサードパーティライブラリ不要で解決しています。
データとしての記念日
記念日データベースは約 380 KB のインメモリ Swift 構造体です。Core Data も使わず、ネットワーク通信もなく、すべてバイナリにコンパイルされます。瞬時の起動、完全オフライン対応、App Sandbox に最適です。
StoreKit 2 サブスクリプション
最新の StoreKit 2 によるマネタイズで、ローカルテスト用の設定ファイルを同梱しています。透明性のあるペイウォール、明示的な購入復元ボタン、リアルタイムのサブスクリプション状態。
ローカライゼーション
アプリは英語、ロシア語、日本語、簡体字中国語の4言語に完全翻訳済みです。記念日の説明は機械翻訳ではなく、文化的に適切な形で翻訳されています。
システム要件
- macOS 14.0 (Sonoma) 以降
- Apple Silicon または Intel
- 約 50 MB の空き容量
- macOS ウィジェット対応