Brooklyn
This readme is out-of-date.
Blame Ethan, he's working on it.
Components
Rubicon
"The die is cast."
Crosses Apple's last river between IMCore and the rest of the system.
BrooklynBridge
The underlying API. Probably doesn't need to be .xm -- will look at that. Sparse for now, but will have many methods very soon
Brooklyn.app
iMessage runtime inspection tool. Also api testing grounds.
Build
macOS
Xcode
- Set up theos.
- Open brooklyn.xcodeproj.
- Go to the brooklyn target, then click Build Settings
- Change
THEOS_DEVICE_IP
to the Bonjour or IP address of the targeted device. - Change
THEOS
to your full theos path. No cheating with ~. Do the same in the Makefile. This step won't be needed in the future. - Open a terminal and type
ssh-copy-id root@
, followed by the address you set in Step 4. The default password for iOS isalpine
. (If it gives an error, runssh-keygen
and spam enter, then try again.) - Connect a device to Xcode, select
brooklyn>(device)
in the tab bar, and click Run!
Optional code highlighting, autocomplete, error checking:
- Set the build target to
xchighlight>Any iOS Device (armv7, arm64)
in the tab bar. - Press Command-B.
- When this is done building, set the target back to
brooklyn>(device)
. - Every time you add a source file, go to the brooklyn xcodeproj in Xcode, click the xchighlight target, click Build Phases, and add it to the appropriate phase.
make
- Set up theos.
- Open the makefile.
- At the top, add:
export THEOS_DEVICE_IP =
, followed by your device's Bonjour or IP address. - Open a terminal to the brooklyn folder.
- Run
ssh-copy-id root@
, followed by the address from Step 3. The default password isalpine
. (If it gives an error, runssh-keygen
and spam enter, then try again.) - Run
make clean do
.
Notes
If you make changes to .xib files, make sure to commit the built .nib files in the Resources folder as well. That way, other platforms can build without Xcode. This will not be a requirement in the future.
Linux / Windows
I'll add these instructions soon. I don't have theos set up on Windows. I also don't have a Linux install yet. For shame, I know, for shame! :P