2017-11-06 107 views
5

Z ObjectiveC Pracuję nad aplikacją SingleView, której celem jest iOS 11 z jednym kontrolerem/widokiem. W Main.storyboard na górze widoku Zrzuciłem widok WebKit (WKWebView).Awaria WKWebview w iOS11 z powodu NSInvalidUnarchiveOperationException

widzę awarię zarówno w symulatorze i na iPhone z systemem iOS 6 11.0.1:

Zakończenie aplikację spowodowane nieprzechwyconego wyjątku „NSInvalidUnarchiveOperationException”, powód: „Nie można utworzyć wystąpienia klasy o nazwie WKWebView”

Czy potrzebuję czegoś jeszcze, aby działało? Wygląda na to, że nie można utworzyć instancji WKWebView po przebudzeniu z storyboardu.

Inne szczegóły:

  • wersja Xcode 9.0 9A235
  • Kiedy usunąć WKWebView z ujęć katastrofa odchodzi
  • App bazy SDK - ostatnie iOS (iOS 11); Wdrożenie docelową 11,0
  • Używanie WebView (przestarzałe) - UIWebView, działa
  • nie próbować go instancję ręcznie

gniewu stos:

2017-11-06 18:38:27.765519+0200 XYZZMap[15689:1093338] *** Terminating app due to uncaught exception 'NSInvalidUnarchiveOperationException', reason: 'Could not instantiate class named WKWebView' 
*** First throw call stack: 
(
    0 CoreFoundation      0x00000001056d01cb __exceptionPreprocess + 171 
    1 libobjc.A.dylib      0x0000000105032f41 objc_exception_throw + 48 
    2 CoreFoundation      0x0000000105744b95 +[NSException raise:format:] + 197 
    3 UIKit        0x000000010692d2c0 UINibDecoderDecodeObjectForValue + 323 
    4 UIKit        0x000000010692d5db UINibDecoderDecodeObjectForValue + 1118 
    5 UIKit        0x000000010692d172 -[UINibDecoder decodeObjectForKey:] + 89 
    6 UIKit        0x00000001062f866b -[UIView initWithCoder:] + 969 
    7 UIKit        0x000000010692d43d UINibDecoderDecodeObjectForValue + 704 
    8 UIKit        0x000000010692d172 -[UINibDecoder decodeObjectForKey:] + 89 
    9 UIKit        0x00000001066dd1a7 -[UIRuntimeConnection initWithCoder:] + 178 
    10 UIKit        0x000000010692d43d UINibDecoderDecodeObjectForValue + 704 
    11 UIKit        0x000000010692d5db UINibDecoderDecodeObjectForValue + 1118 
    12 UIKit        0x000000010692d172 -[UINibDecoder decodeObjectForKey:] + 89 
    13 UIKit        0x00000001066dc3a4 -[UINib instantiateWithOwner:options:] + 1262 
    14 UIKit        0x00000001063f8d07 -[UIViewController _loadViewFromNibNamed:bundle:] + 383 
    15 UIKit        0x00000001063f9610 -[UIViewController loadView] + 177 
    16 UIKit        0x00000001063f9941 -[UIViewController loadViewIfRequired] + 195 
    17 UIKit        0x00000001063fa19e -[UIViewController view] + 27 
    18 UIKit        0x00000001062cdd17 -[UIWindow addRootViewControllerViewIfPossible] + 122 
    19 UIKit        0x00000001062ce41f -[UIWindow _setHidden:forced:] + 294 
    20 UIKit        0x00000001062e12bf -[UIWindow makeKeyAndVisible] + 42 
    21 UIKit        0x0000000106255015 -[UIApplication _callInitializationDelegatesForMainScene:transitionContext:] + 4711 
    22 UIKit        0x000000010625a245 -[UIApplication _runWithMainScene:transitionContext:completion:] + 1720 
    23 UIKit        0x0000000106615c6c __111-[__UICanvasLifecycleMonitor_Compatability _scheduleFirstCommitForScene:transition:firstActivation:completion:]_block_invoke + 924 
    24 UIKit        0x00000001069e33ef +[_UICanvas _enqueuePostSettingUpdateTransactionBlock:] + 153 
    25 UIKit        0x0000000106615865 -[__UICanvasLifecycleMonitor_Compatability _scheduleFirstCommitForScene:transition:firstActivation:completion:] + 249 
    26 UIKit        0x00000001066160c3 -[__UICanvasLifecycleMonitor_Compatability activateEventsOnly:withContext:completion:] + 668 
    27 UIKit        0x0000000106f73c11 __82-[_UIApplicationCanvas _transitionLifecycleStateWithTransitionContext:completion:]_block_invoke + 262 
    28 UIKit        0x0000000106f73aca -[_UIApplicationCanvas _transitionLifecycleStateWithTransitionContext:completion:] + 444 
    29 UIKit        0x0000000106c61b9c __125-[_UICanvasLifecycleSettingsDiffAction performActionsForCanvas:withUpdatedScene:settingsDiff:fromSettings:transitionContext:]_block_invoke + 420 
    30 UIKit        0x0000000106e5cc3e _performActionsWithDelayForTransitionContext + 100 
    31 UIKit        0x0000000106c61998 -[_UICanvasLifecycleSettingsDiffAction performActionsForCanvas:withUpdatedScene:settingsDiff:fromSettings:transitionContext:] + 231 
    32 UIKit        0x00000001069e2a4c -[_UICanvas scene:didUpdateWithDiff:transitionContext:completion:] + 392 
    33 UIKit        0x0000000106258ac6 -[UIApplication workspace:didCreateScene:withTransitionContext:completion:] + 523 
    34 UIKit        0x0000000106821523 -[UIApplicationSceneClientAgent scene:didInitializeWithEvent:completion:] + 369 
    35 FrontBoardServices     0x000000010b539158 -[FBSSceneImpl _didCreateWithTransitionContext:completion:] + 338 
    36 FrontBoardServices     0x000000010b541c4d __56-[FBSWorkspace client:handleCreateScene:withCompletion:]_block_invoke_2 + 235 
    37 libdispatch.dylib     0x00000001096b643c _dispatch_client_callout + 8 
    38 libdispatch.dylib     0x00000001096bbaf4 _dispatch_block_invoke_direct + 592 
    39 FrontBoardServices     0x000000010b56d672 __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 24 
    40 FrontBoardServices     0x000000010b56d328 -[FBSSerialQueue _performNext] + 464 
    41 FrontBoardServices     0x000000010b56d897 -[FBSSerialQueue _performNextFromRunLoopSource] + 45 
    42 CoreFoundation      0x00000001056732b1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17 
    43 CoreFoundation      0x0000000105712d31 __CFRunLoopDoSource0 + 81 
    44 CoreFoundation      0x0000000105657c19 __CFRunLoopDoSources0 + 185 
    45 CoreFoundation      0x00000001056571ff __CFRunLoopRun + 1279 
    46 CoreFoundation      0x0000000105656a89 CFRunLoopRunSpecific + 409 
    47 GraphicsServices     0x000000010be609c6 GSEventRunModal + 62 
    48 UIKit        0x000000010625bd30 UIApplicationMain + 159 
    49 XYZZMap        0x00000001047274bf main + 111 
    50 libdyld.dylib      0x0000000109732d81 start + 1 
    51 ???         0x0000000000000001 0x0 + 1 
) 
libc++abi.dylib: terminating with uncaught exception of type NSException 

Dzięki!

Odpowiedz

14

NSInvalidUnarchiveOperationException podczas ładowania nib/storyboardu oznacza, że ​​obiekt w nib/storybooku nie jest zrozumiały dla środowiska wykonawczego. Dzieje się tak, ponieważ brakuje ram, które definiują ten typ obiektu.

W takim przypadku musisz połączyć cel aplikacji ze strukturą WebKit, aby aplikacja rozpoznała, czym jest WKWebView, gdy jest dekodowany z serii ujęć.

Oto zrzut ekranu pokazujący Fazy zbudować app docelowego gdy jest poprawnie skonfigurowane:

enter image description here

+0

Witam, mam również do czynienia z tego samego rodzaju błędem, już dodane ramy webkit również. jakiś pomysł, dlaczego tak się dzieje? – Matrix

0

Select Target -> Ogólne -> Związany ramy i biblioteki -> kliknij + symbol poniżej -> Szukaj dla webKit.Framwork -> add.