今天在HOOK一个函数的时候 LOG输出参数是这样的:
getMyPurchasedEmotion:(
"MDMyEmotionPacketStatusItem 0x176a7590: packetId 1282, inuse 1",
"MDMyEmotionPacketStatusItem 0x176a7630: packetId 1211, inuse 1",
"MDMyEmotionPacketStatusItem 0x176a7640: packetId 1247, inuse 1",
"MDMyEmotionPacketStatusItem 0x176a7650: packetId 1186, inuse 1",
"MDMyEmotionPacketStatusItem 0x176a7660: packetId 1191, inuse 1",
"MDMyEmotionPacketStatusItem 0x176a75d0: packetId 1205, inuse 1",
"MDMyEmotionPacketStatusItem 0x176a7690: packetId 1138, inuse 1",
"MDMyEmotionPacketStatusItem 0x176a76b0: packetId 1086, inuse 1",
"MDMyEmotionPacketStatusItem 0x176a76c0: packetId 1108, inuse 1",
"MDMyEmotionPacketStatusItem 0x176a7710: packetId 1089, inuse 1",
"MDMyEmotionPacketStatusItem 0x176a7720: packetId 1135, inuse 1",
"MDMyEmotionPacketStatusItem 0x176a7730: packetId 1105, inuse 1",
"MDMyEmotionPacketStatusItem 0x176a7740: packetId 1001, inuse 1",
"MDMyEmotionPacketStatusItem 0x176a7750: packetId 999, inuse 1",
"MDMyEmotionPacketStatusItem 0x176a7760: packetId 1000, inuse 1",
"MDMyEmotionPacketStatusItem 0x176a7770: packetId 1126, inuse 1",
"MDMyEmotionPacketStatusItem 0x176a7780: packetId 1042, inuse 0",
"MDMyEmotionPacketStatusItem 0x176a7670: packetId 1043, inuse 0",
"MDMyEmotionPacketStatusItem 0x176a7680: packetId 1067, inuse 0",
"MDMyEmotionPacketStatusItem 0x176a7800: packetId 1115, inuse 0",
"MDMyEmotionPacketStatusItem 0x176a7810: packetId 1072, inuse 0"
)
我需要加一点自己需要的数据进去,于是找到MDMyEmotionPacketStatusItem这个头文件:
@class NSString;
@interface MDMyEmotionPacketStatusItem : NSObject
{
NSString *packetId;
BOOL inuse;
}
@property(nonatomic) BOOL inuse; // @synthesize inuse;
@property(retain, nonatomic) NSString *packetId; // @synthesize packetId;
- (id)description;
- (void)dealloc;
@end
在XM里面引用头文件
#import "MDMyEmotionPacketStatusItem.h"
然后在hook的方法里面初始化这个参数报错
MDMyEmotionPacketStatusItem *item =[MDMyEmotionPacketStatusItem alloc]init];
错误提示:
Undefined symbols for architecture armv7:
"_OBJC_CLASS_$_MDMyEmotionPacketStatusItem", referenced from:
objc-class-ref in DemoChat.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
这段错误我在网上查找,说的是有的库文件没引用,但是不清楚是什么没有被引用进去。