首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我已经有%end时,如何修复'warning: missing %end (%hook opened Tweak.x:14 extends EOF)‘错误

当我已经有%end时,如何修复'warning: missing %end (%hook opened Tweak.x:14 extends EOF)‘错误
EN

Stack Overflow用户
提问于 2019-09-03 03:42:31
回答 1查看 66关注 0票数 0

我通过Zane Helton的在线视频教程创建了一个调整。我已经多次检查了自己的代码,试图找出为什么会发生这种情况,我在谷歌上搜索了一下也没有用,只是想找出原因,这样如果再次发生这种情况,我就可以防止它发生。

我已经移动了一些东西,我已经删除了我所有的评论,看看是不是这样。我已经用谷歌搜索过了,其他人都拼错了%end...我已经移动了%end,但不知道是什么导致了这一点…

代码语言:javascript
复制
@interface BCBatteryDeviceController {
    NSArray *_sortedDevices;
}
+(id)sharedInstance;
@end

@interface BCBatteryDevice {
  long long _percentCharge;
  NSString *_name;
}
@end

%hook UIViewController

- (void)presentViewController:(UIViewController *)viewControllerToPresent  
animated:(BOOL)flag           
completion:(void (^)(void))completion {
  //no code would run without orig
  if ([viewControllerToPresent isKindOfClass[UIAlertController class]]) {
    UIAlertController *ac = (UIAlertController *)viewControllerToPresent; 

    BCBatteryDeviceController *bcb = [%c(BCBatteryDeviceController) sharedInstance]; 

    NAArrray *devices = MSHookIvar<NSArray *>(bcb, "_sortedDevices");

    NSMutableString *newMessage = [NSMutableString new];

    for (BCBatteryDevice *device in devices) { 
      NSString *deviceName = MSHookIvar<NSString *>(device, "_name");
      long long deviceCharge = MSHookIvar<long long>(device, "_percentCharge");

      [newMessage appendString:@"%@ : %lld%%\n", deviceName, deviceCharge]; 
    }

    [ac setMessage:newMessage];
    return %orig(ac, flag, completion); 
  } else {
    return %orig; 
  }
}


%end

错误日志:

代码语言:javascript
复制
Hunters-MacBook-Pro:redrectangle shutthu$ make package
> Making all for tweak RedRectangle…
==> Preprocessing Tweak.x…
logos: warnings being treated as errors
Tweak.x:47: warning: missing %end (%hook opened at Tweak.x:14 extends to EOF)
make[3]: *** [/Users/shutthu/Desktop/iOS9JBTweak/redrectangle/.theos/obj/debug/armv7,/Tweak.x.m] Error 1
rm /Users/shutthu/Desktop/iOS9JBTweak/redrectangle/.theos/obj/debug/armv7,/Tweak.x.m
make[2]: *** [/Users/shutthu/Desktop/iOS9JBTweak/redrectangle/.theos/obj/debug/armv7,/RedRectangle.dylib] Error 2
make[1]: *** [internal-library-all_] Error 2
make: *** [RedRectangle.all.tweak.variables] Error 2
EN

回答 1

Stack Overflow用户

发布于 2019-09-03 08:21:05

我的makefile中有一个原型。我在错误日志中看到了它,我想你就是这么把它放进去的:/。我有两个逗号,所以....

如果有人遇到这个错误,并且不知道它的含义,请检查makefile,并确保在

代码语言:javascript
复制
ARCHS = armv7 arm64

如下所示:

代码语言:javascript
复制
ARCHS = armv7, arm64

很抱歉浪费了大家的时间。:/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57761965

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档