print() は禁止Logger(os.log)を使用する。

共通設定

private let logger = Logger(
    subsystem: Bundle.main.bundleIdentifier ?? "StudyStopwatch",
    category: "[クラス名]"
)

カテゴリ一覧

カテゴリ使用箇所
TimerViewModelタイマー永続化・復元
LiveActivityServiceActivity start/update/end
WidgetSyncServiceWidget データ同期
SubscriptionManagerStoreKit 課金
NotificationServiceローカル通知
InstagramShareServiceシェア機能
AppUpdateServiceApp Store API
InterstitialAdManager全画面広告

ログレベル

レベル用途
.info通常イベント(タイマー開始・停止、セッション保存)
.warning異常だが継続可(Live Activity orphaned、AppGroup nil)
.error機能継続不可(StoreKit verify失敗、SwiftData save失敗)

プライバシー対応

StoreKitトランザクションID、志望校名、メールアドレス等はログに出さない。 識別子(科目ID、セッションID)は privacy: .public

変更履歴

バージョン日付変更内容
1.02026-05-09初版作成