(トップへ)
| Category | Technology Stack |
|---|---|
| App | SwiftUI, Swift |
| Platform | iOS |
| Integrations | Files, AirPlay, Picture in Picture |
| Design | Figma |
| Development | Xcode |
(トップへ)
flowchart TB
subgraph local[Local Configuration]
projectYml[project.yml] --> xcodegen[XcodeGen]
xcodegen --> xcodeproj[PocketVideo.xcodeproj]
end
subgraph runtime[App Runtime]
xcodeproj --> app[App Entry]
app --> shell[Player Shell<br/>Open / Recent / Settings]
shell --> files[Files<br/>Video Selection]
shell --> playback[Playback Resolver]
shell --> nativeFeatures[PiP / Now Playing / Remote Commands]
files --> playback
playback --> player[Native Video Player]
player --> external[External Playback]
end
player --> localFiles[Local Video Files]
external --> airplay[AirPlay / External Display]
(トップへ)
# リポジトリのクローン
git clone git@github.com:Arata1202/PocketVideo.git
cd PocketVideo
# XcodeGenのインストール
brew install xcodegen
# Xcodeプロジェクトの生成
xcodegen generate
# Xcodeから起動
open PocketVideo.xcodeproj
# iOSリリースビルド
xcodebuild -project PocketVideo.xcodeproj -scheme PocketVideo -configuration Release -destination 'generic/platform=iOS' build
(トップへ)
# ユニットテスト
xcodebuild -project PocketVideo.xcodeproj -scheme PocketVideo -destination 'platform=iOS Simulator,name=iPhone 16' test
(トップへ)
❯ tree -a -I ".git|.DS_Store|xcuserdata|DerivedData|build|*.xcuserstate" -L 3
.
├── .docs
│ └── readme
│ └── images
├── .gitignore
├── Brand
│ ├── PocketVideoAppIcon-1024.png
│ └── PocketVideoAppIcon-source.png
├── LICENSE
├── PocketVideo
│ ├── App
│ │ ├── ExternalDisplayPlayback.swift
│ │ └── PocketVideoApp.swift
│ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ └── Contents.json
│ ├── Info.plist
│ ├── Models
│ │ ├── PlaybackAlert.swift
│ │ ├── RecentVideo.swift
│ │ └── RecentVideoStore.swift
│ ├── PrivacyInfo.xcprivacy
│ ├── ViewModels
│ │ └── PlayerViewModel.swift
│ ├── Views
│ │ ├── PlayerHomeView.swift
│ │ ├── PlayerView.swift
│ │ └── SettingsView.swift
│ └── ja.lproj
│ └── Localizable.strings
├── PocketVideo.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ └── xcshareddata
├── PocketVideoTests
│ └── RecentVideoStoreTests.swift
├── README.md
└── project.yml
18 directories, 22 files
(トップへ)
GitHub Flowを使用する。 mainとfeatureブランチで運用する。
| ブランチ名 | 役割 | 派生元 | マージ先 |
|---|---|---|---|
| main | 本番環境 | - | - |
| feature/* | 機能開発 | main | main |
fix: バグ修正
feat: 新機能追加
perf: パフォーマンス改善
refactor: コードのリファクタリング
docs: ドキュメントのみの変更
style: コードのフォーマットに関する変更
test: テストコードの変更
build: ビルドシステムや依存関係の変更
ci: CI/CD設定の変更
revert: 変更の取り消し
chore: その他の変更
(トップへ)
