关于本书88页,登录IMessage问题

#import “ViewController.h”

%hook ViewController

  • (void)loginButtonOnClicked:(id)arg1 {
    %orig;

    NSString *appleID = self.appleIDTextField.text;
    NSString *password = self.passwordTextField.text;

    CNFRegController *controller = [objc_getClass(“CNFRegController”) controllerForServiceType:1];
    IMAccount *account = [controller beginAccountSetupWithLogin:appleID password:password foundExisting:NO];
    [controller setAliases:@[appleID] onAccount:account];
    BOOL loginStatus = [account CNFRegSignInComplete];

    NSString *text;
    if (loginStatus) {
    text = @“登录成功”;
    } else {
    text = @“登录失败”;
    }

    text = [NSString stringWithFormat:@"%@", controller];

    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil message:text delegate:nil cancelButtonTitle:nil otherButtonTitles:@“ok”, nil];

    [alert show];
    }

%end

controller 对象为空?大神们帮帮忙

@protocol IMSystemMonitorListener

@end

@interface ViewController : UIViewController

@property(weak, nonatomic) UITextField *passwordTextField;
@property(weak, nonatomic) UITextField *appleIDTextField;
@property(weak, nonatomic) UILabel *counterLabel;

@end

@interface IMAccount : NSObject

  • (BOOL)CNFRegSignInComplete ;

@end

@interface CNFRegController :NSObject

  • (id)controllerForServiceType:(int)arg1;
  • (id)beginAccountSetupWithLogin:(id)arg1 password:(id)arg2 foundExisting:(BOOL)arg3;

  • (BOOL)setAliases:(id)arg1 onAccount:(id)arg2;

@end