Mac编译Cydia

编译环境

  1. Mac OSX 10.9.4
  2. XCode 6.1

获取源代码

clone代码到本地,一定要加--recursive否则icu不会下载。

git clone --recursive git://git.saurik.com/cydia.git
Mac编译Cydia_第1张图片
Paste_Image.png

发现子模块SDURLCache下载不成功,进行手动更新;
进入SDURLCache,执行命令

git checkout

确保icu和SDURLCache模块有下载

此时全部代码已经更新完毕。

工具更新下载

主要根据Compiling.txt步骤来。

0) use a Mac (I'm sorry, I really am)
1) install the official Apple iOS SDK
2) install Fink (the only sane choice)
3) activate Fink (. /sw/bin/init.sh)
4) sudo fink install bash ldid sed tar wget xz
5) run ./sysroot.sh and wait a bit
6) type "make" to compile the executable

Mac 系统版本:10.9.4
XCode: 6.1
Fink安装参考上一篇文章Mac OSX10.10上安装Fink
执行sudo fink install bash ldid sed tar wget xz
执行./sysroot.sh

编译生成

执行make
正常的话,会生成MobileCydia文件。

执行

make package

生成cydia_1.1.26+_iphoneos-arm.deb文件

Paste_Image.png

常见问题

  1. MobileCydia.mm:30:10: fatal error: 'unicode/utrans.h' file not found


    Paste_Image.png

    原因:icu模块无更新下来
    解决:重新clone一下

git clone --recursive git://git.saurik.com/cydia.git
  1. MobileCydia.mm:127:10: fatal error: 'SDURLCache/SDURLCache.h' file not found
    ![Upload Paste_Image.png failed. Please try again.]
    原因:SDURLCache模块无更新下来
    解决:在Cydia目录下,执行
git submodule init
git submodule update

或者进入SDURLCache,执行命令

git checkout
  1. 出现link问题的话,请执行
make clean
  1. file is universal (2 slices) but does not contain a(n) armv6 slice:


    Paste_Image.png

    解决:修改makefile
    把makefile里面的cycc = $(gxx) -arch armv6改成cycc = $(gxx) -arch armv7

  2. sysroot/usr/include/WebKit/WebView.h:31:9: fatal error: 'AppKit/AppKit.h' file not found


    Paste_Image.png

    原因:系统SDK有关
    解决:确保安装了XCode6.1,里面包含了MacOSX10.9.SDK
    修改sysroot.sh文件,拷贝MacOSX10.9.SDK的库。

sdk109=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk
for framework in ApplicationServices CoreServices IOKit IOSurface JavaScriptCore WebKit; do
ln -s "${sdk109}"/System/Library/Frameworks/"${framework}".framework/Headers "${framework}"
done

参考

Cydia编译出错,求教……

你可能感兴趣的:(Mac编译Cydia)