Theos/Setup: Difference between revisions

From iPhone Development Wiki
Line 40: Line 40:
#* Using git: <pre>git clone git://github.com/DHowett/theos.git $THEOS</pre>
#* Using git: <pre>git clone git://github.com/DHowett/theos.git $THEOS</pre>
#* Alternatively, you can use svn, if you prefer: <pre>svn co http://svn.howett.net/svn/theos/trunk $THEOS</pre>
#* Alternatively, you can use svn, if you prefer: <pre>svn co http://svn.howett.net/svn/theos/trunk $THEOS</pre>
# Download <tt>ldid</tt> to <tt>$THEOS/bin</tt>: <pre>curl -s http://dl.dropbox.com/u/3157793/ldid > $THEOS/bin/ldid; chmod +x $THEOS/bin/ldid</pre> or, to make sure the newest version of <tt>ldid</tt> is always installed: <pre>git clone git://git.saurik.com/ldid.git&#10;cd ldid&#10;svn co http://svn.saurik.com/repos/menes/trunk/minimal/&#10;./make.sh&#10;cp -f ./ldid /$THEOS/bin/ldid</pre>
# Download <tt>ldid</tt> to <tt>$THEOS/bin</tt>: <pre>curl -s http://dl.dropbox.com/u/3157793/ldid > $THEOS/bin/ldid; chmod +x $THEOS/bin/ldid</pre> or, to make sure the newest version of <tt>ldid</tt> is always installed: <pre>git clone git://git.saurik.com/ldid.git&#10;cd ldid&#10;svn co http://svn.saurik.com/repos/menes/trunk/minimal/&#10;./make.sh&#10;cp -f ./ldid $THEOS/bin/ldid</pre>


=== On iOS ===
=== On iOS ===

Revision as of 17:16, 29 November 2012

Purpose

This page contains instructions for installing Theos and preparing a new project.

Requirements

  • A UNIX-based operating system (Mac OS X, iOS (jailbroken), and most variants of Linux should do)
    • subversion or git
    • curl
    • perl
  • Some form of a toolchain or official SDK
  • Access to a terminal emulator and some knowledge of how to use it
  • Objective-C knowledge

More detailed explanations of these requirements are given in the next section, and are dependent on the environment you use.

Setting Up Dependencies

For Mac OS X

Mac OS X comes with most of the necessary tools (subversion, curl, and perl) by default. You will still need compilation tools and the iOS SDK, and the easiest way to obtain both of these is by installing the official iOS SDK from Apple's web site. (You will have to register for a free developer account in order to download it.)

For iOS

  • Install the SDK.

For Linux

To be written.

Installing Theos

On Mac OS X or Linux

  1. Open a terminal window.
  2. Choose a location for Theos to be installed. If you are unsure, a good choice is /opt/theos.
    export THEOS=/opt/theos
    • If you chose a location outside of your user's home directory, you will probably need to run some or all of the following commands with root permissions.
  3. Download the latest version of Theos:
    • Using git:
      git clone git://github.com/DHowett/theos.git $THEOS
    • Alternatively, you can use svn, if you prefer:
      svn co http://svn.howett.net/svn/theos/trunk $THEOS
  4. Download ldid to $THEOS/bin:
    curl -s http://dl.dropbox.com/u/3157793/ldid > $THEOS/bin/ldid; chmod +x $THEOS/bin/ldid
    or, to make sure the newest version of ldid is always installed:
    git clone git://git.saurik.com/ldid.git
    cd ldid
    svn co http://svn.saurik.com/repos/menes/trunk/minimal/
    ./make.sh
    cp -f ./ldid $THEOS/bin/ldid

On iOS

(On your iOS device:)

  1. Create a file at /etc/apt/sources.list.d/coredev.nl.list containing the following line:
    deb http://coredev.nl/cydia iphone main
  2. Create a file at /etc/apt/sources.list.d/howett.net.list containing the following line:
    deb http://nix.howett.net/theos ./
  3. As root, issue these commands (using either SSH or MobileTerminal):
    apt-get update
    apt-get install perl net.howett.theos

Note: Theos will be installed to /var/theos/ on your device, hereafter referred to as $THEOS in this guide.

Creating a Project

Theos lets you create new projects based on templates using the New Instance Creator (NIC). You do not need to be root to do this step, nor should you be. Start the NIC wizard using the following command:

$THEOS/bin/nic.pl

NIC will prompt you for all the necessary information before creating a project.

NIC Example

Here is an example of what you will see when using the NIC to create a project (with user input shown in bold):

$ $THEOS/bin/nic.pl
NIC 1.0 - New Instance Creator
------------------------------
  [1.] iphone/application
  [2.] iphone/library
  [3.] iphone/preference_bundle
  [4.] iphone/tool
  [5.] iphone/tweak
Choose a Template (required): 1
Project Name (required): iPhoneDevWiki
Package Name [com.yourcompany.iphonedevwiki]: net.howett.iphonedevwiki
Authour/Maintainer Name [Dustin L. Howett]:              
Instantiating iphone/application in iphonedevwiki/...
Done.
$

The above will create a folder ./iphonedevwiki in the current working directory - make sure you have permissions to create a folder.

Getting Started

You can learn how to do Makefiles with theos on http://uv.howett.net/ipf.html. Start over there.

Getting Help

If you need further assistance, or if you have other questions about Theos itself, feel free to connect to #theos on irc.saurik.com using your preferred IRC client.