|
|
|
IOS (iPhoneOS) Build Instructions and Notes
|
|
|
|
===========================================
|
|
|
|
This guide will show you how to build twisterd for IOS on a linux machine.
|
|
|
|
|
|
|
|
Notes
|
|
|
|
-----
|
|
|
|
|
|
|
|
* Compilation, made on a linux
|
|
|
|
* Application, tested on iPhone4 with IOS 7.1.2 (jailbroken)
|
|
|
|
* All of the commands should be executed in a Terminal application.
|
|
|
|
|
|
|
|
Preparation
|
|
|
|
-----------
|
|
|
|
|
|
|
|
You need to install clang and llvm from distribution's repo. Then you need IOS toolchain and SDK.
|
|
|
|
You can get them from [iOS toolchain based on clang for linux](https://code.google.com/p/ios-toolchain-based-on-clang-for-linux/).
|
|
|
|
|
|
|
|
You need to install [openssl](http://cydia.saurik.com/package/openssl/) ([view in cydia...](cydia://package/openssl)) to your
|
|
|
|
device and copy headers and libraries to your SDK as well.
|
|
|
|
|
|
|
|
REQUIRMENTS (leveldb, berkeley db and boost) WILL BE DOWNLOADED AND BUILDED BY `runme-ios-onlinux.sh`
|
|
|
|
You need also to build [leveldb](http://github.com/google/leveldb), [Berkeley DB](http://download.oracle.com/otn/berkeley-db/db-5.3.28.tar.gz)
|
|
|
|
for IOS.
|
|
|
|
|
|
|
|
And you need the [boost sources](http://www.boost.org/users/download/#live).
|
|
|
|
|
|
|
|
Instructions:
|
|
|
|
-------------
|
|
|
|
|
|
|
|
#### Setting required variable
|
|
|
|
|
|
|
|
You should check variables set in `runme-ios-onlinux.sh` script.
|
|
|
|
|
|
|
|
|
|
|
|
export IPHONE_IP=""
|
|
|
|
export IOS_SDK=/usr/share/iPhoneOS6.0.sdk
|
|
|
|
export ARCH=armv7
|
|
|
|
export TARGET=arm-apple-darwin11
|
|
|
|
export LINKER_VER=236.3
|
|
|
|
export IPHONEOS_DEPLOYMENT_TARGET=6.0
|
|
|
|
export TARGET_OS=IOS
|
|
|
|
export CC="clang"
|
|
|
|
export CXX="clang++"
|
|
|
|
export PJC=2
|
|
|
|
#### Building dependencies and `twisterd`
|
|
|
|
|
|
|
|
1. Clone the github tree to get the source code and go into the directory.
|
|
|
|
|
|
|
|
git clone https://github.com/miguelfreitas/twister-core.git
|
|
|
|
cd twister-core/src
|
|
|
|
|
|
|
|
2. Building
|
|
|
|
|
|
|
|
|
|
|
|
./runme-ios-onlinux.sh
|
|
|
|
|
|
|
|
3. If things go south, before trying again, make sure you clean it up:
|
|
|
|
|
|
|
|
|
|
|
|
make clean
|
|
|
|
|
|
|
|
If all went well, you should now have a twisterd executable in the twister-core directory.
|
|
|
|
See the Running instructions below.
|
|
|
|
|
|
|
|
Running
|
|
|
|
-------
|
|
|
|
|
|
|
|
If you have been set IPHONE_IP before running script, it's now available at `/usr/bin/twisterd` on your device.
|
|
|
|
We have to first create the RPC configuration file, though.
|
|
|
|
|
|
|
|
Run `/usr/bin/twisterd` from SSH or on [Mobile Terminal](http://cydia.saurik.com/package/mobileterminal/) to get
|
|
|
|
the filename where it should be put, or just try these commands:
|
|
|
|
|
|
|
|
mkdir -p "/User/.twister"
|
|
|
|
echo -e "rpcuser=user\nrpcpassword=pwd\nrpcallowip=127.0.0.1" > "/User/.twister/twister.conf"
|
|
|
|
chmod 600 "/User/.twister/twister.conf"
|
|
|
|
|
|
|
|
When next you run it, it will start downloading the blockchain, but it won't
|
|
|
|
output anything while it's doing this. This process may take several hours. If you see a lonely
|
|
|
|
`connect: Operation timed out`, don't freak out, it seems to work fine.
|
|
|
|
|
|
|
|
Other commands:
|
|
|
|
|
|
|
|
tail -f ~/.twister/debug.log
|
|
|
|
./twisterd --help # for a list of command-line options.
|
|
|
|
./twisterd -daemon # to start it as a daemon.
|
|
|
|
./twisterd help # When the daemon is running, to get a list of RPC commands
|
|
|
|
|
|
|
|
In order to get the HTML interface, you'll have to download it and link it in .twister:
|
|
|
|
|
|
|
|
git clone https://github.com/miguelfreitas/twister-html.git /User/Library/Application\ Support/twister/html
|
|
|
|
|
|
|
|
Once you do that, it will be available at http://localhost:28332/home.html
|
|
|
|
|