A local, pass-the-remote party game for iPhone, iPad, Apple TV and Android, inspired by Cards Against Humanity. Built with SwiftUI for tvOS, and rewritten in Kotlin for Android, the game features multi-card prompts, per-turn custom answers, rotating judges, and a first-to-5 win condition.
- Local multiplayer with pass-the-remote gameplay on Apple TV and Android TV.
- Local multiplayer with pass-the-device gameplay on Android phones and tablets.
- Multi-card prompts: play 1–N answers when the black card’s pick value is greater than 1.
- In-round custom answers: players can add up to 20 custom cards per game.
- Clear visual highlights for active players and judges.
- Rotating judge each round; the first player to reach 5 points wins.
- tvOS 17.6 or later (officially tested only on tvOS 26)
- Xcode 15 or later
- Swift 5.7 or later
- Deck JSON included in the app bundle as
cah-all-compact.json. You can find the original source here.
- iOS/iPadOS 15.6 or later
- A computer (unless your device is jailbroken)
- Sideloadly, TrollStore or ESign for signing and sideloading
- Android 10 or later
- A working brain
-
Create a new tvOS SwiftUI app in Xcode.
-
Clone the GitHub repo and add
cah-all-compact.jsonto your project (ensure “Copy items if needed” and target membership are checked). -
Replace the default app entry point with the provided
Cards_Against_TVApp.swift. -
Set up the app icon using the included image assets:
- The folder
Assets.xcassetscontains the image assets you're gonna need for getting the app to show up on your Apple TV's homescreen. - Background must be opaque; Front must match the slot’s pixel size.
- The folder
-
Build and run on an Apple TV simulator or device.
- Make sure Sideloadly is paired with your Apple TV device
- Drag the IPA into Sideloadly
- Sign and install
- Enjoy!
- Connect your iPhone or iPad to your MacBook or PC with a USB cable
- Drag the Portable Edition IPA into Sideloadly
- Sign and install
- Enjoy!
- Download the Portable Edition IPA to your iPhone or iPad
- Import the file into ESign
- Use
Import app library - Sign the IPA
- Install
- Enjoy!
- Download or AirDrop the file to your iPhone or iPad
- Install using TrollStore
- Enjoy!
- Enable installing from unknown sources
- Download the APK
- Install the APK
- If prompted by Play Protect, hit "Install without scanning"
- Enjoy!
- Choose the decks to play the game with. By default, all decks are selected.
- Choose the number of players and enter names one by one.
- Each round presents a black prompt card with a “pick” value. Non-judging players submit answers in turn.
- When multiple cards are required, players select them in order or enter custom responses.
- The judge reviews anonymized submissions and selects a winner.
- The first player to 5 points wins the game.
The deck file uses a simple format:
{
"white": ["An answer.", "Another answer."],
"black": [
{ "text": "Why can't I sleep at night?", "pick": 1 },
{ "text": "I got 99 problems but _ ain't one.", "pick": 1 }
]
}whitecontains the answer cards.blackcontains prompt cards with text and a pick value.
-
Add animations
-
Make card text smaller
✅ Add deck selector (idk if this is doable though)
- Deck not found: Ensure the JSON file is named
cah-all-compact.jsonand included in the app target. - Parse error: Make sure the JSON is valid UTF-8.
- App Icon errors: The icon assets are included in
Assets.xcassets. - Can't type player names on iOS build: Dismiss and restart the app.
crhallberg for his amazing JSON Against Humanity project
This is a fan-made, non-commercial project inspired by Cards Against Humanity. Please respect the original content’s licensing and attribution requirements.
























