diff --git a/FixCode/FixCode.m b/FixCode/FixCode.m index 1e5ac9a..1154bb1 100755 --- a/FixCode/FixCode.m +++ b/FixCode/FixCode.m @@ -11,6 +11,18 @@ #import "Aspects.h" #import "FixCode.h" +@interface IDEEnhancedProvisioningSigningIdentity : NSObject + +@property NSUInteger state; // 0: current, 2: online-only + +@end + +@interface IDESigningIdentityActionCellViewContents : NSObject + +@property IDEEnhancedProvisioningSigningIdentity *signingIdentity; + +@end + @interface NSObject (Shutup) -(void)_autoLayoutViewViewFrameDidChange:(id)arg0; @@ -163,6 +175,16 @@ - (void)swizzleCodeSigningResolution if (error) { NSLog(@"Error: %@", error); } + + [objc_getClass("IDESigningIdentityActionCellView") aspect_hookSelector:@selector(setObjectValue:) withOptions:AspectPositionAfter usingBlock:^(id info, IDESigningIdentityActionCellViewContents *cellContents) { + if ([[cellContents signingIdentity] state] == 2) { + [self findAndReplaceFixIssueButtonInView:info.instance]; + } + } error:&error]; + + if (error) { + NSLog(@"Error: %@", error); + } } @end