Skip to content

Commit

Permalink
1.0.5
Browse files Browse the repository at this point in the history
  • Loading branch information
yulingtianxia committed Jun 26, 2019
1 parent 72204a3 commit b8ca3d1
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 29 deletions.
2 changes: 1 addition & 1 deletion BlockTracker.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = "BlockTracker"
s.version = "1.0.4"
s.version = "1.0.5"
s.summary = "Tracking block args of Objective-C method based on BlockHook"
s.description = <<-DESC
BlockTracker can track block arguments of a method. It's based on BlockHook.
Expand Down
12 changes: 8 additions & 4 deletions BlockTrackerSample iOS/ViewController.m
Original file line number Diff line number Diff line change
Expand Up @@ -26,15 +26,20 @@ - (void)viewDidLoad {
break;
case BlockHookModeAfter:
NSLog(@"After block:%@, mangleName:%@", invocation.token.block, invocation.token.mangleName);
objc_setAssociatedObject(invocation.token, @"invoked", @YES, OBJC_ASSOCIATION_RETAIN);
break;
case BlockHookModeDead:
NSLog(@"Block Dead! mangleName:%@", invocation.token.mangleName);
BOOL invoked = [objc_getAssociatedObject(invocation.token, @"invoked") boolValue];
if (!invoked) {
NSLog(@"Block Not Invoked Before Dead! %@", invocation.token.mangleName);
}
break;
default:
break;
}
}];

setMallocBlockCallback(^(BHInvocation * _Nonnull invocation) {
switch (invocation.mode) {
case BlockHookModeBefore: {
Expand All @@ -50,7 +55,7 @@ - (void)viewDidLoad {
NSLog(@"Block Dead! mangleName:%@", invocation.token.mangleName);
BOOL invoked = [objc_getAssociatedObject(invocation.token, @"invoked") boolValue];
if (!invoked) {
NSLog(@"Block Not Invoked Before Dead! %@", invocation.token);
NSLog(@"Block Not Invoked Before Dead! %@", invocation.token.mangleName);
}
break;
}
Expand Down Expand Up @@ -79,8 +84,7 @@ - (void)viewDidLoad {
}

- (void)performBlock:(void(^)(void))block {
id b = block;
// dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), b);
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), block);
}

@end
48 changes: 24 additions & 24 deletions BlockTrackerSample macOS/ViewController.m
Original file line number Diff line number Diff line change
Expand Up @@ -36,29 +36,29 @@ - (void)viewDidLoad {
}
}];

// setMallocBlockCallback(^(BHInvocation * _Nonnull invocation) {
// switch (invocation.mode) {
// case BlockHookModeBefore: {
// NSLog(@"Before block:%@, mangleName:%@", invocation.token.block, invocation.token.mangleName);
// break;
// }
// case BlockHookModeAfter: {
// NSLog(@"After block:%@, mangleName:%@", invocation.token.block, invocation.token.mangleName);
// objc_setAssociatedObject(invocation.token, @"invoked", @YES, OBJC_ASSOCIATION_RETAIN);
// break;
// }
// case BlockHookModeDead: {
// NSLog(@"Block Dead! mangleName:%@", invocation.token.mangleName);
// BOOL invoked = [objc_getAssociatedObject(invocation.token, @"invoked") boolValue];
// if (!invoked) {
// NSLog(@"Block Not Invoked Before Dead! %@", invocation.token.mangleName);
// }
// break;
// }
// default:
// break;
// }
// });
setMallocBlockCallback(^(BHInvocation * _Nonnull invocation) {
switch (invocation.mode) {
case BlockHookModeBefore: {
NSLog(@"Before block:%@, mangleName:%@", invocation.token.block, invocation.token.mangleName);
break;
}
case BlockHookModeAfter: {
NSLog(@"After block:%@, mangleName:%@", invocation.token.block, invocation.token.mangleName);
objc_setAssociatedObject(invocation.token, @"invoked", @YES, OBJC_ASSOCIATION_RETAIN);
break;
}
case BlockHookModeDead: {
NSLog(@"Block Dead! mangleName:%@", invocation.token.mangleName);
BOOL invoked = [objc_getAssociatedObject(invocation.token, @"invoked") boolValue];
if (!invoked) {
NSLog(@"Block Not Invoked Before Dead! %@", invocation.token.mangleName);
}
break;
}
default:
break;
}
});

// invoke blocks
NSString *word = @"I'm a block";
Expand All @@ -78,7 +78,7 @@ - (void)viewDidLoad {
}

- (void)performBlock:(void(^)(void))block {
// dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), block);
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), block);
}

- (void)setRepresentedObject:(id)representedObject {
Expand Down

0 comments on commit b8ca3d1

Please sign in to comment.