2014-05-23 31 views
3

前几天我写了钩 ASIdentifierManager advertisingIdentifier西奥斯调整对iPhone 5S的作品,但不是在iPad 3

下面一个调整是我Tweak.xm

#import <AdSupport/ASIdentifierManager.h> 

%hook ASIdentifierManager 

-(NSUUID*)advertisingIdentifier 
{ 
    //id result = %orig; 
    //%log; 
    NSUUID *x = [[NSUUID alloc] initWithUUIDString:@"11111111-1111-1111-1111-111111111111"]; 
    return x; 
} 

%end 

并能正常工作在我的iPhone 5S ,但不是在我的iPad上。 可能是我们的问题,在我的iPad上,我只安装了openssh越狱后,在我的iPhone上我安装了很多东西。

这里是我的Makefile

export SDKVERSION=7.1 
export ARCHS = armv7 armv7s arm64 
export TARGET = iphone:clang:7.1:7.0 
export THEOS_DEVICE_IP=192.168.1.121 


include theos/makefiles/common.mk 

TWEAK_NAME = iHabrTweak 
ARCHS = armv7 armv7s arm64 
iHabrTweak_FILES = Tweak.xm 
iHabrTweak_FRAMEWORKS = UIKit 

include $(THEOS_MAKE_PATH)/tweak.mk 

我的plist

{ Filter = { Bundles = ("com.apple.UIKit"); }; } 
+1

iPad上是否安装了“mobilesubstrate”?如果没有,请在Cydia中找到并安装它。 –

+1

也许需要'越狱'标签? – Rivera

回答

2

首先,有没有什么特别的应用程序,它或不工作?这可能很重要。

其次,你会想改变你的过滤plist,以反映你更喜欢加载任何地方com.apple.AdSupport加载,而不是com.apple.UIKit。这可能不会有太大的改变,因为您可能只针对GUI轴承应用程序(而非系统服务)。

应用程序是否可能不会调用-[ASIdentifierManager advertisingIdentifier]?将%log;置于替换方法的顶部,并检查系统日志以查看它是否被调用。您可能遇到依赖于UDID(-[UIDevice uniqueIdentifier])且依然工作的应用程序,因为它们尚未重新编译,或依赖于-[UIDevice identifierForVendor]的应用程序。

最后,您可能希望确保已安装Cydia Substrate。如果没有它(如果它有一个合适的Depends字段),调整可能甚至不会安装,但你永远不知道。

+0

不错的一个。安装了Cydia基材,但已经过时。 –

相关问题