代码之家  ›  专栏  ›  技术社区  ›  Florian

设置基本SDK后,iPhone模拟器将在NSKeyedUnachiver中运行

  •  3
  • Florian  · 技术社区  · 16 年前

    由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“[NSKeyedUnachiver initForReadingWithData:]:不可理解的存档(0x4e、0x49、0x42、0x41、0x72、0x63、0x68、0x69)”

    我不使用 NSKeyedUnarchiver

    3 回复  |  直到 16 年前
        1
  •  2
  •   Florian    16 年前

    我用这个详细的堆栈跟踪解决了这个问题:

    #0  0x302ac924 in ___TERMINATING_DUE_TO_UNCAUGHT_EXCEPTION___  
    #1  0x904a3509 in objc_exception_throw  
    #2  0x3028e5fb in +[NSException raise:format:arguments:]  
    #3  0x3028e55a in +[NSException raise:format:]  
    #4  0x30513b77 in -[NSKeyedUnarchiver initForReadingWithData:]  
    #5  0x30ab4b2a in -[UINib instantiateWithOptions:owner:loadingResourcesFromBundle:]  
    #6  0x30ab6eb3 in -[NSBundle(NSBundleAdditions) loadNibNamed:owner:options:]  
    #7  0x308f85f1 in -[UIApplication _loadMainNibFile]  
    #8  0x30901a15 in -[UIApplication _runWithURL:sourceBundleID:]  
    #9  0x308fef33 in -[UIApplication handleEvent:withNewEvent:]  
    #10 0x308fad82 in -[UIApplication sendEvent:]  
    #11 0x309013e1 in _UIApplicationHandleEvent  
    #12 0x32046375 in PurpleEventCallback  
    #13 0x30245560 in CFRunLoopRunSpecific  
    #14 0x30244628 in CFRunLoopRunInMode  
    #15 0x308f930d in -[UIApplication _run]  
    #16 0x309021ee in UIApplicationMain  
    #17 0x0000255c in main at main.m:14  
    

    应用程序在调用mainNibFile时崩溃。我不知道为什么,只是简单地重新保存MainWindow.xib就解决了这个问题。

        2
  •  0
  •   deanWombourne    16 年前

    尝试从模拟器中完全卸载你的应用程序-它可能会在某个地方存储一些与设置有关的数据?

    您是否有来自调试器的堆栈跟踪,显示对NSKeyedUnarchiver的调用来自何处?

        3
  •  0
  •   CaptainBleuten    11 年前

    之后,我也遇到了同样的问题

    1. FTP远程服务器(带FileZilla)
    2. 重新下载
    3. 并启动它以检查文件是否顺利通过。重新下载的文件有此问题。

    我认为ftp会对捆绑文件(如.xcodeproj)产生问题,因为有时候,.pages和.number文件也会有问题。

    我用计算机解决了这个问题

    1. 压缩我的项目(.zip)
    2. 解开它的拉链
    3. 启动后,就没有问题了!