2014-09-21 33 views
1

我在UIWebView中發生奇怪的崩潰,在某種程度上,某種程度上由操作系統實例化,而不是在主線程中實例化。結果,應用程序崩潰。- 在加載UIWebView時未在主線程上調用[MPVolumeView initWithFrame:style]

無法在我的代碼中使用或調用MPVolumeView,所以我不確定我應該在這裏做什麼。墜機是不存在的iOS 7纔開始提出自身的iOS 8

這裏的回溯立即墜毀前:

Stacktrace: (
    0 CustomFramework     0x000000010e918587 PSPDFAssertIfNotMainThread + 87 
    1 CustomFramework     0x000000010e918690 __PSPDFUIKitMainThreadGuard_block_invoke_2 + 32 
    2 UIKit        0x000000010cd2338c -[UIView initWithFrame:] + 153 
    3 MediaPlayer       0x0000000119b64b0d -[MPVolumeView initWithFrame:style:] + 80 
    4 UIKit        0x000000010cd22fb7 -[UIView init] + 62 
    5 WebCore        0x00000001151f9913 -[WebMediaSessionHelper initWithCallback:] + 115 
    6 WebCore        0x00000001151f9259 _ZN7WebCore22MediaSessionManageriOSC2Ev + 89 
    7 WebCore        0x00000001151f91d1 _ZN7WebCore19MediaSessionManager13sharedManagerEv + 49 
    8 WebCore        0x00000001151f7b6e _ZN7WebCore12MediaSessionC2ERNS_18MediaSessionClientE + 46 
    9 WebCore        0x0000000114be08a8 _ZN7WebCore16HTMLMediaSession6createERNS_18MediaSessionClientE + 40 
    10 WebCore        0x0000000114bc3545 _ZN7WebCore16HTMLMediaElementC2ERKNS_13QualifiedNameERNS_8DocumentEb + 1733 
    11 WebCore        0x0000000114c36118 _ZN7WebCore16HTMLVideoElementC2ERKNS_13QualifiedNameERNS_8DocumentEb + 24 
    12 WebCore        0x0000000114c34219 _ZN7WebCore16HTMLVideoElement6createERKNS_13QualifiedNameERNS_8DocumentEb + 57 
    13 WebCore        0x0000000114b9ef41 _ZN7WebCoreL16videoConstructorERKNS_13QualifiedNameERNS_8DocumentEPNS_15HTMLFormElementEb + 81 
    14 WebCore        0x0000000114b9df14 _ZN7WebCore18HTMLElementFactory13createElementERKNS_13QualifiedNameERNS_8DocumentEPNS_15HTMLFormElementEb + 356 
    15 WebCore        0x0000000114b8af85 _ZN7WebCore12HTMLDocument13createElementERKN3WTF12AtomicStringERi + 101 
    16 WebCore        0x0000000114e14f35 _ZN7WebCore40jsDocumentPrototypeFunctionCreateElementEPN3JSC9ExecStateE + 357 
    17 ???         0x0000042139137034 0x0 + 4540738007092 
    18 JavaScriptCore      0x0000000117742d8e llint_entry + 22744 
    19 JavaScriptCore      0x000000011773d291 callToJavaScript + 311 
    20 JavaScriptCore      0x0000000117621be3 _ZN3JSC7JITCode7executeEPNS_2VMEPNS_14ProtoCallFrameE + 35 
    21 JavaScriptCore      0x0000000117603c93 _ZN3JSC11Interpreter7executeEPNS_17ProgramExecutableEPNS_9ExecStateEPNS_8JSObjectE + 8035 
    22 JavaScriptCore      0x000000011747272c _ZN3JSC8evaluateEPNS_9ExecStateERKNS_10SourceCodeENS_7JSValueEPS5_ + 508 
    23 WebCore        0x000000011546d2f4 _ZN7WebCore16ScriptController15evaluateInWorldERKNS_16ScriptSourceCodeERNS_15DOMWrapperWorldE + 260 
    24 WebCore        0x000000011546d609 _ZN7WebCore16ScriptController8evaluateERKNS_16ScriptSourceCodeE + 41 
    25 WebCore        0x0000000115473d62 _ZN7WebCore13ScriptElement13executeScriptERKNS_16ScriptSourceCodeE + 194 
    26 WebCore        0x0000000114bf6107 _ZN7WebCore16HTMLScriptRunner36executePendingScriptAndDispatchEventERNS_13PendingScriptE + 231 
    27 WebCore        0x0000000114bf68a7 _ZN7WebCore16HTMLScriptRunner29executeParsingBlockingScriptsEv + 135 
    28 WebCore        0x0000000114b8e3fb _ZN7WebCore18HTMLDocumentParser14notifyFinishedEPNS_14CachedResourceE + 59 
    29 WebCore        0x000000011477f067 _ZN7WebCore14CachedResource11checkNotifyEv + 343 
    30 WebCore        0x0000000115553347 _ZN7WebCore17SubresourceLoader16didFinishLoadingEd + 119 
    31 CFNetwork       0x0000000110e205f7 ___ZN27URLConnectionClient_Classic26_delegate_didFinishLoadingEU13block_pointerFvvE_block_invoke + 107 
    32 CFNetwork       0x0000000110eec871 ___ZN27URLConnectionClient_Classic18_withDelegateAsyncEPKcU13block_pointerFvP16_CFURLConnectionPK33CFURLConnectionClientCurrent_VMaxE_block_invoke_2 + 273 
    33 CFNetwork       0x0000000110e0bb36 _ZN19RunloopBlockContext13_invoke_blockEPKvPv + 72 
    34 CoreFoundation      0x000000010eebe714 CFArrayApplyFunction + 68 
    35 CFNetwork       0x0000000110e0b9f7 _ZN19RunloopBlockContext7performEv + 133 
    36 CFNetwork       0x0000000110e0b836 _ZN17MultiplexerSource7performEv + 256 
    37 CFNetwork       0x0000000110e0b64c _ZN17MultiplexerSource8_performEPv + 72 
    38 CoreFoundation      0x000000010eeebad1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17 
    39 CoreFoundation      0x000000010eee199d __CFRunLoopDoSources0 + 269 
    40 CoreFoundation      0x000000010eee0fd4 __CFRunLoopRun + 868 
    41 CoreFoundation      0x000000010eee0a06 CFRunLoopRunSpecific + 470 
    42 WebCore        0x00000001156e8a95 _ZL12RunWebThreadPv + 469 
    43 libsystem_pthread.dylib    0x000000010f842899 _pthread_body + 138 
    44 libsystem_pthread.dylib    0x000000010f84272a _pthread_struct_init + 0 
    45 libsystem_pthread.dylib    0x000000010f846fc9 thread_start + 13 
+0

在我的情況下:當你在statusBar被隱藏並且添加了MPVolumeView的時候改變了音量時,會出現這個問題。 – zaheer 2015-01-22 14:29:17

回答

-1

你有「保證」的框架沒有UIKit的方法被稱爲在後臺線程上。但是,正如您所看到的,僅在調試環境中才會在生產環境中推薦這種框架。

這是一個Apple框架錯誤。據報道,你也應該創建一個錯誤報告。

請務必及時更新您的輔助框架到最新版本: https://gist.github.com/steipete/5664345

我的建議是圍繞這個框架與#if DEBUG語句。這不應該在生產代碼上運行。即使框架的作者這樣說:

你應該只在調試版本中使用它。它不使用私人的 API,但我不會發貨。

+0

這不是在生產代碼 - 不知道這與這個問題有什麼關係。你從哪裏看到這個bug報告了? – 2014-09-21 20:21:16

+1

我在twitter線程上看到它,這是關於這個,或者關於從後臺線程佈局UIWebView。 – 2014-09-21 20:23:45

+0

謝謝,我會檢查出來。 – 2014-09-21 20:24:24

相關問題