【发布时间】:2016-10-06 07:16:18
【问题描述】:
我已将应用程序升级到iOS 10 和XCode 8,升级后应用程序在 iPad 中崩溃,日志如下:
*** 由于未捕获的异常“NSUnknownKeyException”而终止应用程序,原因:“[ setValue:forUndefinedKey:]:这个类不是键值 _masterColumnWidth 键的编码兼容。'
查看下面的完整崩溃日志:
* 由于未捕获的异常“NSUnknownKeyException”而终止应用程序,原因:“[ setValue:forUndefinedKey:]:这个类不是键值 键 _masterColumnWidth 的编码兼容。 * 第一次抛出调用堆栈:( 0 CoreFoundation 0x000000010bdc634b exceptionPreprocess + 171 1 libobjc.A.dylib
0x000000010b32b21e objc_exception_throw + 48 2 核心基础
0x000000010bdc6299 -[NSException raise] + 9 3 基础
0x0000000106ace2ff -[NSObject(NSKeyValueCoding) setValue:forKey:] + 291 4 UIKit 0x000000010803c8c3 -[UIViewController setValue:forKey:] + 88 5 Profiler 0x0000000104319ae5 -[AppDelegate 应用程序:didFinishLaunchingWithOptions:] + 3765 6 UIKit
0x0000000107e9968e -[UIApplication _handleDelegateCallbacksWithOptions:isSuspended:restoreState:] + 290 7 UIKit 0x0000000107e9b013 -[UIApplication _callInitializationDelegatesForMainScene:transitionContext:] + 4236 8 UIKit 0x0000000107ea13b9 -[UIApplication _runWithMainScene:transitionContext:completion:] + 1731 9 UIKit 0x0000000107e9e539 -[UIApplication workspaceDidEndTransaction:] + 188 10 前板服务 0x00000001110ff76b __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK + 24 11 FrontBoardServices 0x00000001110ff5e4 -[FBSSerialQueue _performNext] + 189 12 FrontBoardServices 0x00000001110ff96d -[FBSSerialQueue _performNextFromRunLoopSource] + 45 13 核心基础 0x000000010bd6b311 CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION + 17 14 核心基础 0x000000010bd5059c __CFRunLoopDoSources0 + 556 15 核心基础 0x000000010bd4fa86 __CFRunLoopRun + 918 16 核心基础
0x000000010bd4f494 CFRunLoopRunSpecific + 420 17 UIKit
0x0000000107e9cdb6 -[UIApplication_run] + 434 18 UIKit
0x0000000107ea2f34 UIApplicationMain + 159 19 探查器
0x000000010458fb9f 主 + 111 20 libdyld.dylib
0x000000010cfa968d 开始 + 1 21 ???
0x0000000000000001 0x0 + 1)
使用下面的代码设置masterColumnWidth 的SpliteViewController:
SpliteViewController *objSpliteViewController = [[Navigation getStoryBord] instantiateViewControllerWithIdentifier:@"SpliteViewController"];
[objSpliteViewController setValue:[NSNumber numberWithFloat:370.0f] forKey:@"_masterColumnWidth"];
在 iOS 版本低于 10 和 XCode 版本低于 8 时运行良好。
【问题讨论】:
标签: objective-c ipad uisplitviewcontroller ios10 xcode8