theos笔记

2018-04-24  本文已影响33人  对酒当歌的夜
   http://www.h4ck.org.cn/2016/12/theos-dpkg-deb-error-obsolete-compression-type-lzma-use-xz-instead/

http://www.iosre.com/t/theos-make-install/6706/14

      ldid       brew

brew ldid

brew install dpkg ldid

$ brew install ldid

$ vim ~/.bash_profile .bash_profie 2
.bash_profiel $ source ~/.bash_profile
theos $THEOS ~/theos
$ git clone --recursive https://github.com/theos/theos.git $THEOS
tweak
$ /usr/bin/ruby -e "$(curl -fsSL
https://raw.githubusercontent.com/Homebrew/install/master/install)"
export THEOS=~/theos
export PATH=$THEOS/bin:$PATH

cd
$ cd ~/Desktop
$ nic.pl
[11.] iphone/tweak

Project Name

Package Name ID
Author/Maintainer Name
Mac
[iphone/tweak] MobileSubstrate Bundle filter
APP Bundle Identifier FM com.gemd.iting
Cycript APP Bundle Identifier
[iphone/tweak] List of applications to terminate upon installation

Project Name (required): ting_tweak

Package Name [com.yourcompany.ting_tweak]: com.mj.ting
Author/Maintainer Name [MJ Lee]:
[iphone/tweak] MobileSubstrate Bundle filter [com.apple.springboard]:
com.gemd.iting
[iphone/tweak] List of applications to terminate upon installation (space-
separated, '-' for none) [SpringBoard]:
Instantiating iphone/tweak in ting_tweak/...
Done.
Makefile IP
THEOS_DEVICE_IP THEOS_DEVICE_PORT
export THEOS_DEVICE_IP=127.0.0.1
export THEOS_DEVICE_PORT=10010
include $(THEOS)/makefiles/common.mk
TWEAK_NAME = ting_tweak
ting_tweak_FILES = Tweak.xm
include $(THEOS_MAKE_PATH)/tweak.mk
after-install::
install.exec "killall -9 SpringBoard"
Makefile IP $ source ~/.bash_profile
$ vim ~/.bash_profile
export THEOS=~/theos
export PATH=$THEOS/bin:$PATH
export THEOS_DEVICE_IP=127.0.0.1
export THEOS_DEVICE_PORT=10010
$ source ~/.bash_profile

Tweak.xm
%hook XMAdAnimationView

make
deb
make package
SpringBoard make install

1 - make package

$ make package

Can't locate IO/Compress/Lzma.pm in @INC (you may need to install the
IO::Compress::Lzma module) (@INC contains: /Library/Perl/5.18/darwin-
thread-multi-2level /Library/Perl/5.18 /Network/Library/Perl/5.18/darwin-
thread-multi-2level /Network/Library/Perl/5.18 /Library/Perl/Updates/5.18.2
/System/Library/Perl/5.18/darwin-thread-multi-2level
/System/Library/Perl/5.18 /System/Library/Perl/Extras/5.18/darwin-thread-
multi-2level /System/Library/Perl/Extras/5.18 .) at
/Users/mj/theos/bin/dm.pl line 12.
BEGIN failed--compilation aborted at /Users/mj/theos/bin/dm.pl line 12.
make: *** [internal-package] Error 2
gzip dm.pl #
deb.mk 6 gzip
2 - make
xcode Xcode Xcode
$ vim $THEOS/vendor/dm.pl/dm.pl

use IO::Compress::Lzma;

use IO::Compress::Xz;

$ vim $THEOS/makefiles/package/deb.mk
_THEOS_PLATFORM_DPKG_DEB_COMPRESSION ?= gzip
$ make
Error: You do not have an SDK in
/Library/Developer/CommandLineTools/Platforms/iPhoneOS.platform/Developer/S
DKs
$ sudo xcode-select --switch
/Applications/Xcode.app/Contents/Developer/
$ make

Making all for tweak xxx...
make[2]: Nothing to be done for `internal-library-compile'.
clean

$ make clean
$ make
“ ” 2

 theos    
 https://github.com/theos/theos/wiki/Structure      http://iphonedevwiki.net/index.php/Theos Logos   http://iphonedevwiki.net/index.php/Logos

%hook %end hook %log
Xcode -> Window -> Devices and Simulators
HBDebugLog NSLog
%new
%c(className) Class %c(NSObject) NSStringFromClass() objc_getClass()
%orig %ctor

%dtor
logify.pl xm
logify.pl xx.h > xx.xm
layout / theos-tweak
Tweak
$ make Tweak *.dylib
$ make package dylib deb
$ make install deb Cydia deb /Library/MobileSubstrate/DynamicLibraries
*.dylib Tweak *.plist hook APP ID
APP
Cydia Substrate Cydia APP dylib
APP dylib theos tweak APP

                  APP    tweak       tweak              .app        

tweak tweak APP
APP tweak tweak APP
tweak
Swift\C tweak OC
tweak
C++\C#
logify.pl

logify.pl xm __weak
inout
@protocol XXTestDelegate;

上一篇 下一篇

猜你喜欢

热点阅读