iphone通用设置里显示UDID(tweak)
tweak.xm
#include <MobileGestalt/MobileGestalt.h>
#include <substrate.h>
#import <AdSupport/AdSupport.h>
#import "PSSpecifier.h"
%hook PSListController
- (NSArray *)specifiers {
NSArray *array = %orig;
PSSpecifier *oldSpecifier = array[4];
// get uuid
CFTypeRef result = MGCopyAnswer((__bridge CFStringRef)@"UniqueDeviceID");
NSString *strUDID = (__bridge NSString *)(result);
NSString *strCellName = [NSString stringWithFormat:@"UDID %@", strUDID];
PSSpecifier *newSpecifier = oldSpecifier;
newSpecifier.name = strCellName;
newSpecifier.identifier = @"UDID";
newSpecifier.target = 0;
return array;
}
%end
PSSpecifier.h
@interface PSSpecifier : NSObject {
@public
SEL action;
}
@property (nonatomic, retain) id target;
@property (nonatomic, retain) NSString *name;
@property (nonatomic, retain) NSString *identifier;
@property (nonatomic) SEL buttonAction;
@property (nonatomic) SEL confirmationAction;
@property (nonatomic) SEL confirmationCancelAction;
@property (nonatomic) SEL controllerLoadAction;
@property (nonatomic, retain) NSMutableDictionary *properties;
@property (nonatomic, retain) NSDictionary *shortTitleDictionary;
@property (nonatomic, retain) NSDictionary *titleDictionary;
@end
@implementation PSSpecifier
@end
MakeFile
THEOS_DEVICE_IP = ip
include /opt/theos/makefiles/common.mk
TWEAK_NAME = preferencestweak
preferencestweak_FILES = Tweak.xm
preferencestweak_LDFLAGS = -lMobileGestalt
include /opt/theos/makefiles/tweak.mk
after-install::
install.exec "killall -9 Preferences"