Tweak_Instagram.xm:16: error:

SunJoy-Mac:revealU yangasahi$ make
Making all for tweak IOSRE…
Preprocessing Tweak.xm…
Compiling Tweak.xm…
Preprocessing Tweak_Instagram.xm…
Tweak_Instagram.xm:16: error: %end does not make sense inside a block
make[2]: *** [obj/Tweak_Instagram.xm.9678f7bc.o] Error 22
make[1]: *** [internal-library-all_] Error 2

make: *** [IOSRE.all.tweak.variables] Error 2

按照书上做说 直接沿用前面的 monitor tweak工程省事。 这句话我就没明天什么意思:mad:
就知道之前做的IOSRE工程。 对着修改里面的参数

Makefile文件内容
THEOS_DEVICE_IP = 192.168.1.93
ARCHS = armv7 armv7s arm64
TARGET= iphone:8.1:7.1

include theos/makefiles/common.mk

TWEAK_NAME = IOSRE
IOSRE_FILES = Tweak.xm Tweak_Instagram.xm RevealUtil.m
IOSRE_FRAMEWORKS = UIKit CFNetwork
IOSRE_PRIVATE_FRAMEWORKS = AppSupport

include $(THEOS_MAKE_PATH)/tweak.mk

after-install::
install.exec "killall -9 Instagram”

Tweak_Instagram.xm文件内容

#import “RevealUtil.h”

%hook AppDelegate

  • (BOOL)application:(id)arg1 didFinishLaunchingWithOptions:(id)arg2 {
    {

    %orig;

    RevealUtil *ru = [RevealUtil alloc] init];
    [ru startReveal];

    return YES;
    }
    %end

使用 make 命令:
SunJoy-Mac:revealU yangasahi$ make
Making all for tweak IOSRE…
Preprocessing Tweak.xm…
Compiling Tweak.xm…
Preprocessing Tweak_Instagram.xm…
Tweak_Instagram.xm:16: error: %end does not make sense inside a block
make[2]: *** [obj/Tweak_Instagram.xm.9678f7bc.o] Error 22
make[1]: *** [internal-library-all_] Error 2

make: *** [IOSRE.all.tweak.variables] Error 2

什么情况?怎么改?

还有一个问题就是,按书中创建了RevealUtil类了。 结果,书中根本没有提到怎么用? 我只是把他放到了,相关的Theos目录下。 不知道对不对,会不会导致我上面的问题???

这几个例子是@hangcom 写的,有些源文件没有放上来,确实给大家造成了一些困扰,我已经跟他反馈了这个问题,在第二版中会改进。但是你的问题好像是因为%end的位置不对,你的tweak.xm完整代码贴上来看看?

我已经给了那个代码了,我就写了
Tweak_Instagram.xm文件内容

#import “RevealUtil.h”

%hook AppDelegate

  • (BOOL)application:(id)arg1 didFinishLaunchingWithOptions:(id)arg2 {
    {

    %orig;

    RevealUtil *ru = [RevealUtil alloc] init];
    [ru startReveal];

    return YES;
    }
    %end

我就写了这点内容,我感觉并不是我%end的位置不对,而是我少些了很多,但是书上根本就没有给出怎么写。
上面我写的代码中,里面的那个方法可以直接这么用吗? 还用hook相关类吗?

而且我只按书上改了那两个文件。你说的那个tweak.xm我就没动。我的文件我上面都复制上去了,你看一眼

报的错是
也就是这个xm文件第16行出了错,但看起来这个文件是没问题的。你改成

%hook AppDelegate
- (BOOL)application:(id)arg1 didFinishLaunchingWithOptions:(id)arg2 {
{
    BOOL result = %orig;
    UIAlertView *alertView = [UIAlertView alloc] initWithTitle:@"hello" message:nil delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
    [alertView show];
    [alertView release];
    return result;
}
%end

试试看还报错不

复制了你的代码后:

%hook AppDelegate

  • (BOOL)application:(id)arg1 didFinishLaunchingWithOptions:(id)arg2 {
    {
    BOOL result = %orig;
    UIAlertView *alertView = [UIAlertView alloc] initWithTitle:@“hello” message:nil delegate:nil cancelButtonTitle:@“OK” otherButtonTitles:nil];
    [alertView show];
    [alertView release];
    return result;
    }
    %end

还是报错
SunJoy-Mac:revealui yangasahi$ make
/Users/yangasahi/Desktop/IOSRETest/ReversePoject/revealU/revealui/theos/makefiles/targets/Darwin/iphone.mk:41: Deploying to iOS 3.0 while building for 6.0 will generate armv7-only binaries.
Making all for tweak revealui…
Preprocessing Tweak.xm…
Compiling Tweak.xm…
Preprocessing Tweak_Instagram.xm…
Tweak_Instagram.xm:12: error: %end does not make sense inside a block
make[2]: *** [obj/Tweak_Instagram.xm.a1e0f22d.o] Error 22
make[1]: *** [internal-library-all_] Error 2
make: *** [revealui.all.tweak.variables] Error 2

不是吧,不应该啊,这段代码总共才10行,怎么会报第12行的错?你把这个文件作为附件传上来我看看

好的没问题,附件是我的那个项目

……你看看你写了几个花括号

我晕,我才看到。靠。 郁闷, 还有,我的那个程序,中RevealUtil类到底怎么用?

我的用法对吗?根本不知道怎么用额

你把这个问题解决了再看看编译报不报错

解决了,不报错了。就是那个大括号的原因。 之后那个自己写的RevealUtil类怎么用?
就直接写下面的方法就自动能找到那个类了???
RevealUtil *ru = [RevealUtil alloc] init];
[ru startReveal];

reveal部分详细写了revealutil的用法,你对照着做一下