A native Swift/SwiftUI YouTube client for iPhone, iPad, macOS, and Apple TV.
Zero ads. SponsorBlock auto-skip. DeArrow community titles. Google sign-in. Up to 8K.
Inspired by the original SmartTube Android app.
![]() |
![]() |
![]() |
![]() |
![]() |
- Home, Subscriptions, History, Search, and Playlists feeds
- Video playback via AVPlayer — adaptive HLS/DASH, up to 8K
- SponsorBlock integration — auto-skip with per-category controls
- DeArrow community titles and thumbnails
- Google OAuth sign-in (YouTube TV device authorization flow)
- Video downloads with live activity progress
- Share Extension — share YouTube links from any app
- Picture-in-Picture
- Shorts support
- Comments
- Settings: quality, playback speed, theme, seek duration, SponsorBlock categories
- No ads, no tracking
SmartTubeIOS/ Swift Package — core library (models, InnerTube API, SponsorBlock, views)
SmartTubeApp/ Xcode project — app targets (iOS/iPadOS/macOS + Apple TV)
SmartTube.xcworkspace/ Xcode workspace (references both above)
| Platform | Minimum |
|---|---|
| iOS / iPadOS | 17.0 |
| macOS | 14.0 (Sonoma) |
| tvOS | 17.0 |
| Xcode | 16.0 |
| Swift | 6.0 |
git clone https://github.com/milika/SmartTubeIOS
cd SmartTubeIOS
open SmartTube.xcworkspaceThe project requires an Apple Developer Team ID and a Firebase GoogleService-Info.plist to build.
Copy SmartTubeApp/Config/Secrets.xcconfig.example to SmartTubeApp/Config/Secrets.xcconfig and fill in your Team ID:
DEVELOPMENT_TEAM = YOUR_TEAM_ID
SMARTTUBE_TV_TEAM = YOUR_TEAM_ID
Add your own GoogleService-Info.plist to SmartTubeApp/SmartTubeApp/ (create a free Firebase project at console.firebase.google.com — only Analytics and Crashlytics are used).
Both files are gitignored and will never be committed.
Pull requests are welcome. See .github/PULL_REQUEST_TEMPLATE.md for the checklist.
Please ensure Secrets.xcconfig and GoogleService-Info.plist are never included in a PR.




