プレビュー


概要
Apple Musicの再生状態をDiscordに表示するmacOSアプリです。同じネットワーク上のHomePodとApple TVにも対応しました。
- SwiftUIの画面とPythonによる再生情報の処理を連携させました。
- Pythonランタイムとパッケージを同梱し、署名と配布の手順をまとめました。
- 機器情報の処理にpyatv、Discordとの連携にpypresenceを使いました。
詳しい開発記録
期間
2025.04.19 - (進行中)
- beta 0.0.68 内部テスト開始:2025.05.02
画面
使用ツール・スキル
スキル
- Swift
- SwiftUI
- PythonKit / Python
- beeware/Python-Apple-support(カスタムフレームワーク)
- pyatv
- pypresence
動機
Apple MusicのステータスをDiscord Rich Presenceに表示するアプリ。類似のアプリは以前からあったが、HomePodやApple TVなど同じネットワーク上のAirPlayデバイスから情報を読み取って表示できるものはなかった。HomePodユーザーとして、この機能をどうしても実装したかった。
学んだこと
- SwiftとPythonの統合、macOSアプリでPythonランタイムをバンドル/署名/公証する経験
- SwiftUIによるmacOSアプリの開発経験
- PythonデーモンとのIPC、ビルド/デプロイパイプラインの理解
成果
- macOSアプリ:Applepie-RPC(個人配布)
- ブログ:macOSアプリにPythonランタイム・パッケージを組み込み、配布する手順を文書化(KR)