加载自定义UIViewController时,我的应用程序最近(iOS 11)开始崩溃:

崩溃发生在以下行:
PDFViewController *pdfvc = [self.storyboard instantiateViewControllerWithIdentifier:@"PDFView"];
我确定:

  • 在情节提要中,我引用了正确的自定义类PDFViewController,并且ID是正确的PDFView
  • super 类具有initWithCoder

  • 我得到的确切错误是:
    [PDFViewController initWithCoder:]: unrecognized selector sent to instance 0x1c0012320
    2017-09-26 22:35:44.578082+0900 flightcomp[9764:3233421] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[PDFViewController initWithCoder:]: unrecognized selector sent to instance 0x1c0012320'
    

    现在,我真的对此进行了疯狂搜索-遍历了许多StackOverflow和Google页面,却一无所获。

    所以我的问题是-有人可以建议一些可能导致此问题的事情,以便我进一步调试。

    谢谢。

    ps。

    PDFViewController的.h如下所示:
    @interface PDFViewController : UIViewController <UIPrintInteractionControllerDelegate>
    

    PDFViewController的.m如下所示:
    @implementation PDFViewController
    
    - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
    {
        self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
        if (self) {
            // Custom initialization
        }
        return self;
    }
    
    - (void)viewDidLoad
    {
        [super viewDidLoad];
        // Do any additional setup after loading the view.
    }
    

    最佳答案

    https://i.stack.imgur.com/BSneC.png

    问题在于,Apple从iOS 11开始已经将PDFKit作为框架。我相信PDFViewController现在是该框架的保留名称。我遇到了同样的问题,将PDFViewController更改为SuperDuperPDFViewController后就可以了。

    10-08 01:35