初めてのMacアプリ開発:シャットダウンタイマーを作ってみた
はじめに
プログラミング初心者の私が、ゼロからMacのシャットダウンタイマーアプリを作成しました。開発期間はわずか1日。この記事では、その開発の経緯と完成までの道のりをご紹介します。
きっかけ
「指定した時刻になったら、自動的にMacをシャットダウンするアプリが欲しい」
そう思い立ち、アプリ開発に挑戦することに。しかし、当時の私はXcodeすら触ったことがない完全な初心者でした。
開発の流れ
1. 環境構築(30分)
まずはXcodeをMac App Storeからインストール。約15GBのダウンロードには少し時間がかかりましたが、無事に開発環境を準備できました。
2. 基本機能の実装(2時間)
SwiftUIでシンプルなUIを作成:
- アナログ時計で時刻を設定
- 予告時間の調整機能(何分前に通知するか)
- 開始/停止ボタン
- カウントダウン表示
最初は白い画面でしたが、徐々に形になっていきました。
3. UI改善(1時間)
使いやすさを追求:
- 黒背景のスタイリッシュなデザインに変更
- ウィンドウサイズを最適化(余白を削除)
- ボタンの配色を調整(青=開始、赤=停止)
4. 音声・音楽機能の追加(2時間)
ここからが本番でした:
🔔予告機能
- 指定時間前(15分前など)に音声で通知
- macOSの音声合成機能で「あと少しでPCをシャットダウンします」と女性音声が流れる
- ビープ音も同時に再生
🎵シャットダウン時の演出
- 音楽を再生しながらダイアログを表示
- キャンセルも可能なので、テストも安心
5. アイコンデザイン(1時間)
アプリの顔となるアイコンを作成。パソコンをシャットダウンする天使というコンセプトで、AIに画像を生成してもらい、それをアプリアイコンに設定しました。
黄色と青のコントラストが印象的な、かわいらしいデザインに仕上がりました。
6. 権限設定とビルド(1時間)
macOSのセキュリティ設定に苦戦:
- アクセシビリティ権限の付与
- App Sandboxの無効化
- 実際のシャットダウン実行には管理者パスワードが必要
何度かテストを繰り返し、ついに完璧に動作するようになりました。
完成したアプリの特徴
✨主な機能
- アナログ時計で直感的な時刻設定
- カスタマイズ可能な予告時間(1〜60分)
- 音声による事前通知
- シャットダウン時の音楽再生
- シンプルで美しいUI
🪽こだわりポイント
- 黒背景のスタイリッシュなデザイン
- 天使のアイコン
- 女性音声での優しい予告
- 最後まで止められる安心設計
感想
アプリ開発は初めてでしたが、想像以上にスムーズに進みました。特にSwiftUIの直感的なコーディングと、Xcodeのプレビュー機能が開発を加速してくれました。
一番印象的だったのは、「こんな機能が欲しい」と思ったことが、その日のうちに実現できたこと。プログラミングの楽しさを実感できた瞬間でした。
オープンソース公開
このアプリは無料で公開しています。GitHubでダウンロード可能です:
🔗 GitHub リポジトリ
https://github.com/Bun7/shutdown-timer
📥 ダウンロード
https://github.com/Bun7/shutdown-timer/releases
ソースコードも公開しているので、興味のある方はぜひご覧ください。バグ報告や機能要望も大歓迎です!
おわりに
「こんなアプリが欲しい」という思いから始まった開発。たった1日で、実用的なアプリを作ることができました。
プログラミング初心者でも、Macアプリは意外と簡単に作れます。この記事が、誰かのアプリ開発のきっかけになれば嬉しいです。
