Skip to content

[3/5] SPM: MainTimerViewModel追加・Xcodeアプリ/Widgetソースを更新#18

Open
stotic-dev wants to merge 11 commits into
mainfrom
claude/spm-pr3-viewmodel-NLwKX
Open

[3/5] SPM: MainTimerViewModel追加・Xcodeアプリ/Widgetソースを更新#18
stotic-dev wants to merge 11 commits into
mainfrom
claude/spm-pr3-viewmodel-NLwKX

Conversation

@stotic-dev
Copy link
Copy Markdown
Owner

No description provided.

claude added 4 commits March 14, 2026 06:47
- TimeWatcherCoreにTimeInterval拡張・Loggerを追加
- TimeWatcherFeatureモジュールを追加:
  - MainTimerView, TimerClockAnimationView
  - OpenUrlViewModel
  - FrameButtonStyle, ResourceAdapt (CustomColor/CustomImage typealiases)
- TimeWatcherTestSupportモジュールを追加:
  - LiveActivityManagerMock (TimerLiveActivityStateベース)
- TimeWatcherCoreTestsの雛形を追加

https://claude.ai/code/session_01QuAAadYpLRWRXW25J7R3vF
- MainTimerViewModelをTimeWatcherFeatureモジュールに追加
  - ActivityKitを削除し、NullLiveActivityManagerをデフォルトDI値として使用
  - LiveActivity操作をTimerLiveActivityState経由に変更
- LiveActivityManagerをTimeWatcherCoreに依存するよう更新
  - TimerLiveActivityState→ContentState変換を担当
- TimeWatcherApp: LiveActivityManager(liveActivityMgr:)でViewModelを初期化
- Widget Intent: TimerControlable/LiveActivityManagingをCoreからimport
- xcworkspaceにLocalPackageのFileRef追加

https://claude.ai/code/session_01QuAAadYpLRWRXW25J7R3vF
- project.pbxproj: LocalPackageのSPM参照を追加
  - XCLocalSwiftPackageReference, XCSwiftPackageProductDependency追加
  - app/widget/testターゲットにTimeWatcherCore/Feature/TestSupportを追加
- TestUtilities: @testable import TimeWatcher→import TimeWatcherCoreに変更
- OpenUrlViewModelTest: TimeWatcherFeatureからimportするよう更新
- TimerStartIntentTest/TimerStopIntentTest:
  - import TimeWatcherCore, TimeWatcherTestSupportに変更
  - setupLiveActivityManagerMock簡略化
    (ClosedRange<Date>検証→timeLapseString/timerStatus検証)

https://claude.ai/code/session_01QuAAadYpLRWRXW25J7R3vF
- import TimeWatcherCore, TimeWatcherTestSupport, @testable import TimeWatcherFeatureに変更
- setupLiveActivityManagerMock大幅簡略化:
  - 旧: ClosedRange<Date>を構築してlowerBound/upperBoundを比較
  - 新: timeLapseString/timerStatusのみを検証
  - expectedTimeLapseComponent/MilliSecパラメータを削除
- needThrowStartのエラーをActivityAuthorizationError.unsupported→
  LiveActivityRequestError.notFoundActivityに変更

https://claude.ai/code/session_01QuAAadYpLRWRXW25J7R3vF
@stotic-dev stotic-dev changed the base branch from claude/spm-pr2-feature-NLwKX to main March 15, 2026 13:10
stotic-dev and others added 7 commits March 15, 2026 22:12
[4/5] SPM: Xcodeプロジェクト設定とIntent/共通テストを更新
- LocalPackage/Sources/TimeWatcherCore/Domain/TimeWatcherWidgetAttributes.swift を新規作成
- #if os(iOS) でガードし macOS ビルドへの影響を回避
- TimeWatcherWidgetLiveActivity.swift から重複していた struct 定義を削除
- メインアプリターゲットが TimeWatcherCore 経由で参照できるようになりビルドエラーを解消

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
**/.build/ パターンを追加し、サブディレクトリ内の .build/ も無視されるよう対応

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
**/.DS_Store パターンを追加し、既存のトラッキングも解除

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants