whatisgithub

What is tweaks?

facebookarchive/tweaks — explained in plain English

Analysis updated 2026-06-26

4,710Objective-CAudience · developerComplexity · 2/5Setup · moderate

In one sentence

An iOS library that lets developers adjust app settings and constants live on a real device during development, without changing code or rebuilding.

Mindmap

mindmap
  root((Tweaks))
    What it does
      Live value adjustment
      No rebuild needed
      Device settings panel
    How to use
      FBTweakValue
      FBTweakBind
      FBTweakAction
    Who uses it
      iOS developers
      QA testers
    Status
      Archived project
      Objective-C only
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Replace hard-coded animation durations, colors, or feature flags with live-adjustable tweaks during iOS development.

USE CASE 2

Show a settings panel on device by shaking it, letting testers tune numeric and boolean values without rebuilding the app.

USE CASE 3

Bind a property to a tweak value so it updates in real time as you adjust the slider in the Tweaks settings panel.

What is it built with?

Objective-C

How does it compare?

facebookarchive/tweakscoolnameismy/babybluetoothaachartmodel/aachartkit
Stars4,7104,7534,760
LanguageObjective-CObjective-CObjective-C
Setup difficultymoderateeasyeasy
Complexity2/52/52/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Project is archived and no longer maintained, works with Objective-C with limited Swift support.

So what is it?

Tweaks is a library for iOS app developers that makes it easy to adjust settings and parameters inside a running app during development, without changing code or reconnecting to a computer. It was originally built by the team at Facebook, used heavily when building their Paper app, and has since been open-sourced. The core idea is replacing hard-coded constants in your code with named adjustable values called tweaks. Animation durations, color values, feature flags, physics constants: any numeric, boolean, or string value you want to experiment with can be swapped in through a built-in settings panel on the device. In release builds, the macros compile down to plain default values, so there is no performance cost when shipping to users. There are three main ways to use a tweak. The first is FBTweakValue, which substitutes for a constant and returns the current tweak value (or the default in release mode). The second is FBTweakBind, which keeps a property on an object updated live as you adjust the tweak from the settings panel. The third is FBTweakAction, which runs a block of code when the tweak is tapped, useful for launching debug screens or testing crash reporting. The settings panel can appear either by shaking the device or by presenting it from code. Facebook recommends showing it only in debug builds. The underlying objects that power the macros are also accessible directly, which covers more advanced use cases like adjusting fields inside a C structure. The library also works from Swift, though without the shortcut macros. The project is archived, meaning it is no longer actively maintained by the original team. It remains available for iOS apps written in Objective-C, with limited but possible use in Swift projects.

Copy-paste prompts

Prompt 1
How do I add Tweaks to my iOS Objective-C project and replace a hard-coded animation duration with a live-adjustable FBTweakValue?
Prompt 2
Show me how to use FBTweakBind to keep a UIView alpha property updated in real time from the Tweaks panel.
Prompt 3
How do I add a FBTweakAction that launches a debug screen when tapped from the Tweaks settings panel?
Prompt 4
How do I make the Tweaks panel appear only in debug builds and never show up in App Store releases?

Frequently asked questions

What is tweaks?

An iOS library that lets developers adjust app settings and constants live on a real device during development, without changing code or rebuilding.

What language is tweaks written in?

Mainly Objective-C. The stack also includes Objective-C.

How hard is tweaks to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is tweaks for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.