2015-08-30 56 views
10

我已將CG_CONTEXT_SHOW_BACKTRACE環境變量設置爲YES,因爲我有以下錯誤CGContextSaveGState: invalid context 0x0CGContextSaveGState:應用啓動時無效的上下文0x0

下面的堆棧跟蹤沒有多大幫助。

<Error>: CGContextSaveGState: invalid context 0x0. Backtrace: 
     <-[UIStatusBarBatteryItemView contentsImage]+773> 
     <-[UIStatusBarItemView updateContentsAndWidth]+36> 
     <-[UIStatusBarItemView initWithItem:data:actions:style:]+503> 
     <+[UIStatusBarItemView createViewForItem:withData:actions:foregroundStyle:]+159> 
      <-[UIStatusBarLayoutManager _createViewForItem:withData:actions:]+168> 
      <-[UIStatusBarLayoutManager _prepareEnabledItemType:withEnabledItems:withData:actions:itemAppearing:itemDisappearing:]+3 
      <-[UIStatusBarLayoutManager prepareEnabledItems:withData:actions:]+108> 
      <-[UIStatusBarForegroundView _setStatusBarData:actions:animated:]+951> 
       <-[UIStatusBarForegroundView setStatusBarData:actions:animated:]+874> 
       <__51-[UIStatusBar _prepareToSetStyle:animation:forced:]_block_invoke+443> 
       <+[UIView(Animation) performWithoutAnimation:]+82> 
       <-[UIStatusBar _prepareToSetStyle:animation:forced:]+935> 
        <-[UIStatusBar _requestStyleAttributes:animationParameters:forced:]+404> 
        <-[UIStatusBar requestStyle:animationParameters:forced:]+490> 
        <-[UIStatusBar requestStyle:animated:forced:]+113> 
        <-[UIStatusBar forceUpdateStyleOverrides:]+97> 
         <-[UIStatusBar _evaluateServerRegistration]+294> 
         <-[UIStatusBar didMoveToSuperview]+33> 
         <__45-[UIView(Hierarchy) _postMovedFromSuperview:]_block_invoke+683> 
         <-[UIView(Hierarchy) _postMovedFromSuperview:]+484> 
          <-[UIView(Internal) _addSubview:positioned:relativeTo:]+2305> 
          <-[UIView(Hierarchy) addSubview:]+56> 
          <-[UIStatusBarWindow setStatusBar:]+311> 
          <-[UIApplication _createStatusBarWithRequestedStyle:orientation:hidden:]+384> 
           <-[UIApplication _runWithMainScene:transitionContext:completion:]+1047> 
           <__84-[UIApplication _handleApplicationActivationWithScene:transitionContext:completion:]_block_invo 
           <-[UIApplication workspaceDidEndTransaction:]+163> 
           <__37-[FBSWorkspace clientEndTransaction:]_block_invoke_2+71> 
            <__40-[FBSWorkspace _performDelegateCallOut:]_block_invoke+54> 
            <-[FBSSerialQueue _performNext]+184> 
            <-[FBSSerialQueue _performNextFromRunLoopSource]+52> 
            <FBSSerialQueueRunLoopSourceHandler+33> 
             <__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__+15> 
             <__CFRunLoopDoSources0+523> 
             <__CFRunLoopRun+1032> 
             <CFRunLoopRunSpecific+470> 
              <CFRunLoopRunInMode+123> 
              <-[UIApplication _run]+540> 
              <UIApplicationMain+160> 
              <main+94> 

錯誤在啓動時發生,並且電池視圖似乎有問題。這個錯誤是否會對您產生任何影響?

FWW我的應用程序主要是用Swift 2.0編寫的,在iOS9上用Xcode 7b6編寫。

+0

我在iOS9/Xcode 7b6下的應用程序啓動時遇到了完全相同的問題。如果我拿出任何東西,我會告訴你。 – hatfinch

+0

使用xcode 7b6編譯應用程序時看起來像是一般問題。我有同一個。 –

+2

它仍然出現在Xcode 7 GM上。 –

回答

6

我遇到了同樣的問題,其原因是,我正在爲不同的屏幕設置不同的狀態欄樣式。因此,我需要在plist中添加「基於視圖控制器的狀態欄外觀」鍵。如果我刪除此鍵,則警告消失。

+0

你明白了。我轉而使用'[[UINavigationBar appearance] setBarStyle:UIBarStyleBlack];'用文本獲取狀態欄。 –

0

當你看到源自你的代碼的錯誤時,這意味着你將一個NULL CGContextRef傳遞給一些Core Graphics API(在這種情況下爲CGContextSaveGState),這會導致你試圖做的任何繪圖而不是工作或意外行爲。

在這種情況下,它不是源於您的代碼,所以您可以做的事情不多 - 幸運的是,錯誤不是致命的,所以您可以放心地忽略它。儘管如此,可能想要file a bug與回溯。

相關問題