TheOS JailBreak开发环境搭建步骤及常见问题QA
2014-01-03 18:42
405 查看
TheOS JailBreak开发环境搭建步骤及常见问题QA
安装Xcode
因为开发中会使用到相应的Frameworks、头文件以及编译工具等。Xcode可以去App Store安装,或直接到苹果官网下载相应版本,文本中涉及到的Xcode是4.6版本的。
安装Command Line Tools
打开Xcode->Preferences->Downloads,如下图所示安装Command Line Tools:
安装MacPorts
MacPorts是个软件包安装工具(类似Ubuntu下的apt-get),您也可以选择其他工具。使用类似的工具可以很方便的在Mac OS X平台安装一些常用软件。下载地址:www.macports.org。
安装dpkg
使用MacPorts安装dpkg,命令如下:
sudo port install dpkg
安装TheOS和ldid
TheOS官方环境配置教程:
http://iphonedevwiki.net/index.php/Theos/Getting_Started
首先配置环境变量,让TheOS在开发的时候能方便找到相关资源。在˜/.bash_profile或/etc/profile下添加一行:
export THEOS=/opt/theos
在这里这个目录路径是可任意选的,通常情况下都是放在这个目录下。
然后使用git或svn 下载到本地:
git clone https://github.com/DHowett/theos $THEOS
或
svn co http://svn.howett.net/svn/theos/trunk $THEOS
git和svn在安装Xcode和Command Line Tools中应该已经安装好了。
ldid是一个模拟签名的工具,可以直接从网上下已经编译好的版本,也可以自己编译。
自己编译:
git clone git://git.saurik.com/ldid.git
cd ldid
git submodule update --init
./make.sh
cp -f ./ldid $THEOS/bin/ldid
网上下载:
curl -s http://dl.dropbox.com/u/3157793/ldid > ~/Desktop/ldid
chmod +x ~/Desktop/ldid
mv ~/Desktop/ldid $THEOS/bin/ldid
iOS上安装环境
越狱的iOS中使用Cydia安装软件,而Cydia是基于apt-get的。
添加软件源:
创建文件/etc/apt/sources.list.d/coredev.nl.list,内容为:
deb http://coredev.nl/cydia iphone main
创建文件/etc/apt/sources.list.d/howett.net.list,内容为:
deb http://nix.howett.net/theos ./
以root用户在命令行下执行如下:
apt-get update
apt-get install perl net.howett.theos
安装Theos(/var/thoes/)和perl。
简单示例(Mac OS X)
$ $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.
$
NIC(New Instance Creator)是创建与之对应的模板。详细请参考:
http://theos.howett.net/nic/
Makefile的编译与其他版本的类似,但有些细节不一样。详细请参考:
http://uv.howett.net/ipf.html
编译:
$ make
打包成deb:
$ package
安装到目标设备:
$ install
在进行install时,还是另外配置一个环境变量或者写在Makefile也行:
THEOS_DEVICE_IP=X.X.X.X // IP Address
这样在执行install命令时,就可自动安装到目标设备上去了。因为使用的是SSH连接目标设备,这过程中需要输入密码。如果嫌麻烦可以将SSH配置成无密码登录,可参考这里:http://geekswing.com/geek/unix/how-to-ssh-login-without-a-password-using-ssh-keygen-quick-tutorial/。
注意事项
1. 在创建工程时注意Project Name和Package Name的输入,不要有空格和下划线之类的字符,会出现意想不到的错误。PS:一个空格引发的错误费了我两天时间,- -!。
在环境变量或Makefile中加入一行,指定使用的iOS SDK版本:
export SDKVERSION=5.1
这里我使用的SDK是5.1版本的,越狱机的iOS也是5.1的,要对应。
在开发过程中如果某个符号定义没的找到,请确保加入了相对应库的引入,引入库方法:
在Makefile中添加如下:
XXX_FRAMEWORKS=UIKit Foundation
XXX请使用你的Project Name替换,如果有多个Framework要引入,以空格符分开列入即可。
Tweak或MobileSubstrate开发
要进行Tweak开发,还要另外下载并配置相关库。
cd $THEOS
curl -OL http://apt.saurik.com/debs/mobilesubstrate_0.9.3366-1_iphoneos-arm.deb
dpkg-deb -x mobilesubstrate_0.9.3366-1_iphoneos-arm.deb mobilesubstrate
cp mobilesubstrate/Library/Frameworks/CydiaSubstrate.framework/CydiaSubstrate ~/theos/lib/libsubstrate.dylib
cp mobilesubstrate/Library/Frameworks/CydiaSubstrate.framework/Headers/CydiaSubstrate.h include/substrate.h
相关资源包在这里:http://apt.saurik.com/debs/。
本文中选用的是mobilesubstrate_0.9.3366-1_iphoneos-arm.deb,您也可根据实际需要安装其他deb。
头文件的引用
在使用iOS库的头文件时,Theos是没有安装的,要自行安装。这里有两个方法:下载别人已经提取好的和自己使用class-dump工具提取。
下载好心人提取好的头文件地址:https://github.com/rpetrich/iphoneheaders。将所有头文件放到$THEOS/include/目录下。
自己提取比较麻烦,要一个个Framework进行,示例如下:
class-dump -H /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk/System/Library/CoreServices/SpringBoard.app -o /Users/lkk/Desktop/Spring
这样在用户目录就会生产SPRINGBOARD目录。导出的.h都放到这了。
参考
http://www.cppblog.com/AutomateProgram/archive/2013/11/11/204205.html
http://www.andyibanez.com/64-how-to-create-mobilesubstrate-tweaks-for-ios
http://iphonedevwiki.net/index.php/Theos/Getting_Started
http://www.devdiv.com/home.php?mod=space&uid=54&do=blog&id=7596
安装Xcode
因为开发中会使用到相应的Frameworks、头文件以及编译工具等。Xcode可以去App Store安装,或直接到苹果官网下载相应版本,文本中涉及到的Xcode是4.6版本的。
安装Command Line Tools
打开Xcode->Preferences->Downloads,如下图所示安装Command Line Tools:
安装MacPorts
MacPorts是个软件包安装工具(类似Ubuntu下的apt-get),您也可以选择其他工具。使用类似的工具可以很方便的在Mac OS X平台安装一些常用软件。下载地址:www.macports.org。
安装dpkg
使用MacPorts安装dpkg,命令如下:
sudo port install dpkg
安装TheOS和ldid
TheOS官方环境配置教程:
http://iphonedevwiki.net/index.php/Theos/Getting_Started
首先配置环境变量,让TheOS在开发的时候能方便找到相关资源。在˜/.bash_profile或/etc/profile下添加一行:
export THEOS=/opt/theos
在这里这个目录路径是可任意选的,通常情况下都是放在这个目录下。
然后使用git或svn 下载到本地:
git clone https://github.com/DHowett/theos $THEOS
或
svn co http://svn.howett.net/svn/theos/trunk $THEOS
git和svn在安装Xcode和Command Line Tools中应该已经安装好了。
ldid是一个模拟签名的工具,可以直接从网上下已经编译好的版本,也可以自己编译。
自己编译:
git clone git://git.saurik.com/ldid.git
cd ldid
git submodule update --init
./make.sh
cp -f ./ldid $THEOS/bin/ldid
网上下载:
curl -s http://dl.dropbox.com/u/3157793/ldid > ~/Desktop/ldid
chmod +x ~/Desktop/ldid
mv ~/Desktop/ldid $THEOS/bin/ldid
iOS上安装环境
越狱的iOS中使用Cydia安装软件,而Cydia是基于apt-get的。
添加软件源:
创建文件/etc/apt/sources.list.d/coredev.nl.list,内容为:
deb http://coredev.nl/cydia iphone main
创建文件/etc/apt/sources.list.d/howett.net.list,内容为:
deb http://nix.howett.net/theos ./
以root用户在命令行下执行如下:
apt-get update
apt-get install perl net.howett.theos
安装Theos(/var/thoes/)和perl。
简单示例(Mac OS X)
$ $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.
$
NIC(New Instance Creator)是创建与之对应的模板。详细请参考:
http://theos.howett.net/nic/
Makefile的编译与其他版本的类似,但有些细节不一样。详细请参考:
http://uv.howett.net/ipf.html
编译:
$ make
打包成deb:
$ package
安装到目标设备:
$ install
在进行install时,还是另外配置一个环境变量或者写在Makefile也行:
THEOS_DEVICE_IP=X.X.X.X // IP Address
这样在执行install命令时,就可自动安装到目标设备上去了。因为使用的是SSH连接目标设备,这过程中需要输入密码。如果嫌麻烦可以将SSH配置成无密码登录,可参考这里:http://geekswing.com/geek/unix/how-to-ssh-login-without-a-password-using-ssh-keygen-quick-tutorial/。
注意事项
1. 在创建工程时注意Project Name和Package Name的输入,不要有空格和下划线之类的字符,会出现意想不到的错误。PS:一个空格引发的错误费了我两天时间,- -!。
在环境变量或Makefile中加入一行,指定使用的iOS SDK版本:
export SDKVERSION=5.1
这里我使用的SDK是5.1版本的,越狱机的iOS也是5.1的,要对应。
在开发过程中如果某个符号定义没的找到,请确保加入了相对应库的引入,引入库方法:
在Makefile中添加如下:
XXX_FRAMEWORKS=UIKit Foundation
XXX请使用你的Project Name替换,如果有多个Framework要引入,以空格符分开列入即可。
Tweak或MobileSubstrate开发
要进行Tweak开发,还要另外下载并配置相关库。
cd $THEOS
curl -OL http://apt.saurik.com/debs/mobilesubstrate_0.9.3366-1_iphoneos-arm.deb
dpkg-deb -x mobilesubstrate_0.9.3366-1_iphoneos-arm.deb mobilesubstrate
cp mobilesubstrate/Library/Frameworks/CydiaSubstrate.framework/CydiaSubstrate ~/theos/lib/libsubstrate.dylib
cp mobilesubstrate/Library/Frameworks/CydiaSubstrate.framework/Headers/CydiaSubstrate.h include/substrate.h
相关资源包在这里:http://apt.saurik.com/debs/。
本文中选用的是mobilesubstrate_0.9.3366-1_iphoneos-arm.deb,您也可根据实际需要安装其他deb。
头文件的引用
在使用iOS库的头文件时,Theos是没有安装的,要自行安装。这里有两个方法:下载别人已经提取好的和自己使用class-dump工具提取。
下载好心人提取好的头文件地址:https://github.com/rpetrich/iphoneheaders。将所有头文件放到$THEOS/include/目录下。
自己提取比较麻烦,要一个个Framework进行,示例如下:
class-dump -H /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk/System/Library/CoreServices/SpringBoard.app -o /Users/lkk/Desktop/Spring
这样在用户目录就会生产SPRINGBOARD目录。导出的.h都放到这了。
参考
http://www.cppblog.com/AutomateProgram/archive/2013/11/11/204205.html
http://www.andyibanez.com/64-how-to-create-mobilesubstrate-tweaks-for-ios
http://iphonedevwiki.net/index.php/Theos/Getting_Started
http://www.devdiv.com/home.php?mod=space&uid=54&do=blog&id=7596
相关文章推荐
- Android开发环境搭建及常见问题解决方法
- android studio 开发环境搭建及常见问题解决方法
- ubuntu14.04下搭建lnmp开发环境及常见问题
- 关于android开发环境搭建常见问题
- ios插件开发-theos环境搭建
- MonkeyRunner在Windows下的Eclipse开发环境搭建步骤(兼解决网上Jython配置出错的问题)
- ubuntu 下搭建嵌入式开发环境遇到的常见问题
- (整合)安卓开发环境搭建+常见问题解决
- ★Android开发笔记(1) 总记 开发环境搭建+常见问题+项目结构
- Android开发环境搭建和常见问题的解决方法
- Android 搭建开发环境 常见问题与解决方法
- ubuntu下Android开发环境的搭建:eclipse+SDK详细安装教程+常见问题及其解决方案
- MonkeyRunner在Windows下的Eclipse开发环境搭建步骤(兼解决网上Jython配置出错的问题)
- Android开发环境搭建及常见问题解决方法
- 越狱开发环境TheOS 使用xcode 4.5的编译问题
- VMWare 7 安装Mac OS X 10.6 搭建IOS开发环境遇到的细节问题
- Mac OS X下编译并搭建ffmpeg开发环境及常见错误处理
- 在vs2008开发PHP扩展之三--环境搭建常见问题列表。
- [转]MonkeyRunner在Windows下的Eclipse开发环境搭建步骤(兼解决网上Jython配置出错的问题)
- MonkeyRunner在Windows下的Eclipse开发环境搭建步骤(兼解决网上Jython配置出错的问题)