2014-10-28 66 views
0

我在使用新的Xamarin Unified iOS API的WKWebView时遇到了一些麻烦,它使用EXC_BAD_ACCESS(SIGABRT) - KERN_INVALID_ADDRESS异常加载时崩溃(必须通过电话日志查找,没有显示在视觉工作室里我可能会遇到这样的问题,下面的代码似乎是一个不错的代码,它在传统的API中工作得很好(尽管由于API差异而做了小的改动)。 3个WKWebView线,以及将它添加到控制器的线,应用程序运行。注意:窗口,控制器和WKWebView都是appdelegate类的所有参数Xamarin Unified IOS WKWebView崩溃

public override bool FinishedLaunching(UIApplication app, NSDictionary options) 
{ 
    Window = new UIWindow(UIScreen.MainScreen.Bounds); 
    Window.BackgroundColor = UIColor.White; 
    Window.MakeKeyAndVisible(); 

    Controller = new UIViewController(); 
    Controller.View.AutosizesSubviews = true; 
    Window.RootViewController = Controller; 

    var wkConfig = new WKWebViewConfiguration(); 
    WKWebView = new WKWebView(new CGRect(0, 20, (float)UIScreen.MainScreen.Bounds.Width, (float)UIScreen.MainScreen.Bounds.Height - 20), wkConfig); 
    WKWebView.LoadRequest(new NSUrlRequest(new NSUrl(RazorRouting.GetRootUrl()))); 

    Controller.View.AddSubview(WKWebView); 

    return true; 
} 

这里是崩溃报告的相关部分(崩溃线程的堆栈跟踪)

Incident Identifier: 4C8B4F14-0412-48AC-A94A-70BEDFB07A07 
CrashReporter Key: 35ac6193617557278e0d2ddbc984b0442b429f07 
Hardware Model:  iPhone5,3 
Process:    OurAppNameiOS [2311] 
Path:    /private/var/mobile/Containers/Bundle/Application/003A0100-F79D-48A5-BEB5- 24CC9568E49A/OurAppNameiOS.app/OurAppNameiOS 
Identifier:   com.OurApp.OurAppName 
Version:    1.0 (1.0) 
Code Type:   ARM (Native) 
Parent Process:  launchd [1] 

Date/Time:   2014-10-28 07:57:50.403 -0400 
Launch Time:   2014-10-28 07:57:45.692 -0400 
OS Version:   iOS 8.1 (12B411) 
Report Version:  105 

Exception Type: EXC_BAD_ACCESS (SIGABRT) 
Exception Subtype: KERN_INVALID_ADDRESS at 0x00000004 
Triggered by Thread: 0 

Thread 0 name: Dispatch queue: com.apple.main-thread 
Thread 0 Crashed: 
0 libsystem_kernel.dylib   0x3766fdfc __pthread_kill + 8 
1 libsystem_pthread.dylib   0x376edd32 pthread_kill + 58 
2 libsystem_c.dylib    0x3760f904 abort + 72 
3 OurAppNameiOS 0x00c15866 0xe1000 + 11749478 
4 OurAppNameiOS 0x00c1de5c 0xe1000 + 11783772 
5 libsystem_platform.dylib  0x376e9878 _sigtramp + 40 
6 WebKit       0x2d6820a6 -[WKWebView initWithFrame:configuration:] + 570 
7 OurAppNameiOS 0x00bd80c0 0xe1000 + 11497664 
8 OurAppNameiOS 0x00bb6ba4 0xe1000 + 11361188 
9 OurAppNameiOS 0x000eb4b0 0xe1000 + 42160 
10 OurAppNameiOS 0x0029d5a0 0xe1000 + 1820064 
11 OurAppNameiOS 0x00c20058 0xe1000 + 11792472 
12 OurAppNameiOS 0x00c5d296 0xe1000 + 12042902 
13 OurAppNameiOS 0x00bf0a5c 0xe1000 + 11598428 
14 OurAppNameiOS 0x00bf1584 0xe1000 + 11601284 
15 UIKit       0x2cd6c71c -[UIApplication  _handleDelegateCallbacksWithOptions:isSuspended:restoreState:] + 280 
16 UIKit       0x2cf615aa -[UIApplication  _callInitializationDelegatesForMainScene:transitionContext:] + 2354 
17 UIKit       0x2cf63af6 -[UIApplication _runWithMainScene:transitionContext:completion:] + 1370 
18 UIKit       0x2cf6e374 __84-[UIApplication _handleApplicationActivationWithScene:transitionContext:completion:]_block_invoke + 32 
19 UIKit       0x2cf62384 -[UIApplication workspaceDidEndTransaction:] + 128 
20 FrontBoardServices    0x2ffcf0e6 __31-[FBSSerialQueue performAsync:]_block_invoke  + 10 
21 CoreFoundation     0x2980939a __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 10 
22 CoreFoundation     0x2980865c __CFRunLoopDoBlocks + 212 
23 CoreFoundation     0x29806dde __CFRunLoopRun + 758 
24 CoreFoundation     0x2975520c CFRunLoopRunSpecific + 472 
25 CoreFoundation     0x2975501e CFRunLoopRunInMode + 102 
26 UIKit       0x2cd663ea -[UIApplication _run] + 554 
27 UIKit       0x2cd611cc UIApplicationMain + 1436 
28 OurAppNameiOS 0x00bd8e00 0xe1000 + 11501056 
29 OurAppNameiOS 0x00bada10 0xe1000 + 11323920 
30 OurAppNameiOS 0x00bad9d0 0xe1000 + 11323856 
31 OurAppNameiOS 0x000ea27c 0xe1000 + 37500 
32 OurAppNameiOS 0x0029d5a0 0xe1000 + 1820064 
33 OurAppNameiOS 0x00c20058 0xe1000 + 11792472 
34 OurAppNameiOS 0x00c5d296 0xe1000 + 12042902 
35 OurAppNameiOS 0x00c60516 0xe1000 + 12055830 
36 OurAppNameiOS 0x00c60354 0xe1000 + 12055380 
37 OurAppNameiOS 0x00c0ead4 0xe1000 + 11721428 
38 OurAppNameiOS 0x00cb18c4 0xe1000 + 12388548 
39 OurAppNameiOS 0x00bf2700 0xe1000 + 11605760 
40 libdyld.dylib     0x375a9aac start + 0 
+0

更多信息:查看设备系统日志,在创建webview的行上出现“断言失败:12B411:libxpc.dylib”错误。我可能做错了创建webview? – Patrick 2014-10-28 14:25:25

回答