2014-05-23 32 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基材,但已經過時。 –

相關問題