构建应用程序时出现Xcode 9 Main.storyboard错误"内部错误。请在bugreport.apple.com上提交一个错误并附上"

时间:2017-10-05 01:36:47

标签: ios xcode uiimage ios11 xcode9

我在去年在Xcode 8中构建的Xcode项目中遇到了这个错误,现在我试图在Xcode 9 GM中打开它。

编辑双重检查,我注意到它没有使用GM,我使用的是Xcode 9.1 beta 2.下面的解决方案有效!

错误:

/Users/XXXX/Documents/App Development/Final Apps/XXXX/Base.lproj/Main.storyboard: Internal error. Please file a bug at bugreport.apple.com and attach "/var/folders/ln/n28_nbyn2cg9_5dfqfsj8_7w0000gn/T/IB-agent-diagnostics_2017-10-04_21-24-39_279000".

我已尝试过其他类似帖子的建议:

  1. 使用Command + Shift + k
  2. 清理项目
  3. 使用Command + Option + Shift + l
  4. 删除构建派生数据文件夹
  5. 退出Xcode并重新打开
  6. 同时重启Mac
  7. 如果我转到错误信息指向的文件夹,我看内容为:

    CoreSimulatorLogs   Document.storyboard Log.txt         system.log
    

    在Log.txt中,我看到了:

    Failed to compile nib consisting of IBProxyObject, IBProxyObject, IBProxyObject, IBProxyObject, IBProxyObject, IBProxyObject, IBProxyObject, IBProxyObject, IBProxyObject, IBProxyObject, IBProxyObject, IBProxyObject, IBProxyObject, IBUIBarButtonItem, IBUIBarButtonItem, IBUIBarButtonItem, IBUIBarButtonItem, IBUIBarButtonItem, IBUIBarButtonItem, IBUICollectionViewController, IBUINavigationBar, IBUINavigationBar, IBUINavigationBar, IBUINavigationBar, IBUINavigationBar, IBUINavigationController, IBUINavigationController, IBUINavigationController, IBUINavigationController, IBUINavigationController, IBUINavigationItem, IBUINavigationItem, IBUINavigationItem, IBUINavigationItem, IBUINavigationItem, IBUIStoryboardEmbedSegueTemplate, IBUIStoryboardEmbedSegueTemplate, IBUIStoryboardShowSegueTemplate, IBUITabBar, IBUITabBarController, IBUITabBarItem, IBUITabBarItem, IBUITabBarItem, IBUITabBarItem, IBUITabBarItem, IBUITableViewController, IBUIViewController, IBUIViewController, and IBUIViewController.
    
    Exception name: NSInvalidArgumentException
    Exception reason: System-provided UIImage instances cannot be encoded in NIBs - raised for instance '<UIImage: 0x7f945db51a90>, {18, 20}'
    Exception backtrace:
      0. CoreFoundation           0x000000010800d023 __exceptionPreprocess
      1. libobjc.A.dylib          0x0000000106de3f41 objc_exception_throw
      2. IBCocoaTouchToolFoundation 0x0000000103071a8a -[IBCocoaTouchToolNibFactory nibCoder:willEncodeObject:]
      3. IBCocoaTouchToolFoundation 0x0000000103071b77 -[IBCocoaTouchToolNibFactory nibCoder:willEncodeObject:forObject:forKey:]
      4. UIKit                    0x00000001038111f5 -[UINibEncoder replacementObjectForObject:forKey:]
      5. UIKit                    0x0000000103811d4d -[UINibEncoder encodeObject:forKey:]
      6. UIKit                    0x0000000103a4a6de -[UITabBarItem encodeWithCoder:]
      7. UIKit                    0x0000000103811ea0 -[UINibEncoder encodeObject:forKey:]
      8. IBCocoaTouchToolFoundation 0x000000010305ed41 -[UIViewControllerTemplate encodeWithCoder:]
      9. IBCocoaTouchToolFoundation 0x0000000103055018 -[UINavigationControllerTemplate encodeWithCoder:]
     10. UIKit                    0x0000000103811ea0 -[UINibEncoder encodeObject:forKey:]
     11. UIKit                    0x0000000103811354 -[UINibEncoder serializeArray:]
     12. UIKit                    0x0000000103811ea0 -[UINibEncoder encodeObject:forKey:]
     13. IBCocoaTouchToolFoundation 0x000000010305ef3c -[UIViewControllerTemplate encodeWithCoder:]
     14. IBCocoaTouchToolFoundation 0x00000001030704d9 -[UITabBarControllerTemplate encodeWithCoder:]
     15. IBCocoaTouchToolFoundation 0x0000000103071e57 -[UIClassSwapper(IBHooksFor6767205) designTimeEncodeWithCoder:]
     16. UIKit                    0x0000000103811ea0 -[UINibEncoder encodeObject:forKey:]
     17. UIKit                    0x0000000103811354 -[UINibEncoder serializeArray:]
     18. UIKit                    0x0000000103811ea0 -[UINibEncoder encodeObject:forKey:]
     19. IBCocoaTouchToolFoundation 0x000000010307166c -[IBCocoaTouchToolNibFactory encodeNibContentWithCoder:]
     20. IBCocoaTouchToolFoundation 0x0000000103071801 -[IBCocoaTouchToolNibFactory nibDataWithMinimumCompatibility:]
     21. IBCocoaTouchToolFoundation 0x0000000103071d43 +[IBCocoaTouchToolNibFactory nibDataFromObjects:customClasses:topLevelObjects:traitStorageLists:accessibilityConfigurations:connections:keyValuePairs:visibleWindows:minimumCompatibility:]
     22. IBCocoaTouchToolFoundation 0x00000001030379d5 -[IBCocoaTouchTool compileNibForRequest:minimumCompatibility:layoutInfo:imagesToImageNames:]
     23. IBFoundation             0x000000010640009b __80-[IBMessageReceiveChannel deliverMessage:toTarget:withArguments:context:result:]_block_invoke
     24. IBFoundation             0x00000001063ffe98 -[IBMessageReceiveChannel deliverMessage:toTarget:withArguments:context:result:]
     25. IBFoundation             0x00000001063ff80a __88-[IBMessageReceiveChannel runBlockingReceiveLoopNotifyingQueue:notifyingTarget:context:]_block_invoke
     26. libdispatch.dylib        0x000000010cf352b5 _dispatch_client_callout
     27. libdispatch.dylib        0x000000010cf40999 _dispatch_sync_thread_bound_invoke
     28. libdispatch.dylib        0x000000010cf352b5 _dispatch_client_callout
     29. libdispatch.dylib        0x000000010cf3f496 _dispatch_main_queue_callback_4CF
     30. CoreFoundation           0x0000000107fcfd79 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__
     31. CoreFoundation           0x0000000107f94422 __CFRunLoopRun
     32. CoreFoundation           0x0000000107f93849 CFRunLoopRunSpecific
     33. Foundation               0x00000001067dfe5e -[NSRunLoop(NSRunLoop) runMode:beforeDate:]
     34. IBFoundation             0x00000001063c1cf5 -[IBAbstractPlatformTool startServingReceiveChannel:]
     35. IBFoundation             0x00000001063c1fb0 -[IBAbstractPlatformTool startServingWriteDescriptor:readDescriptor:]
     36. IBFoundation             0x00000001063c2ac9 +[IBAbstractPlatformTool main]
     37. ???                      0x0000000102f9aba7 ???
     38. libdyld.dylib            0x000000010cfa9d81 start
    Exception info:{
    }
    

    我不知道如何继续。有什么建议吗?

    这个错误是什么意思?

    System-provided UIImage instances cannot be encoded in NIBs - raised for instance '<UIImage: 0x7f945db51a90>, {18, 20}'
    

3 个答案:

答案 0 :(得分:4)

来自Xcode 9.1 beta 2发行说明:

  

界面生成器

     

配置为storyboard或xib中的系统项的UITabBarItem会导致构建失败。   (34197132)

     

解决方法:在Interface Builder中配置为自定义项,然后将标签栏项重置为   视图控制器的awakeFromNib方法中的所需系统项。

我遇到了与你相同的问题,这似乎是因为日志指向了我的一个UITabBarItems。

编辑:我可以确认它有效。将所有系统TabBarItems更改为自定义,它将编译! EDIT2:你确定你没有使用9.1 beta吗?因为我在今天之前从未遇到过这个问题,当时我测试了Xcode 9.1 beta 2(之前使用的是Xcode 9)。

答案 1 :(得分:0)

清除DerivedData文件夹(在〜/ Library / Developer / Xcode / DerivedData中)是解决这个问题的原因。

答案 2 :(得分:0)

它有点反直觉,但完全重启只有帮助。没有干净,删除派生数据或新故事板帮助