2015-08-30 16 views
10

Ustawiłem CG_CONTEXT_SHOW_BACKTRACE zmienną environnement na YES, ponieważ wystąpił następujący błąd CGContextSaveGState: invalid context 0x0.CGContextSaveGState: niepoprawny kontekst 0x0 przy uruchomieniu aplikacji

Poniższy stacktrace mi nie pomógł.

<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> 

Błąd pojawia się podczas uruchamiania i wydaje się, że występuje problem z widokiem baterii. Czy ten błąd oznacza dla ciebie dzwonek?

FWW Moja aplikacja jest w większości napisana w Swift 2.0, na iOS9 z Xcode 7b6.

+0

Mam dokładnie ten sam problem podczas uruchamiania z moją aplikacją pod iOS9/Xcode 7b6. Dam ci znać, jeśli coś wymyślę. – hatfinch

+0

Wygląda na to, że jest to ogólny problem podczas kompilowania aplikacji z xcode 7b6. Mam ten sam. –

+2

Nadal pojawia się z Xcode 7 GM. –

Odpowiedz

6

Napotkałem ten sam problem, a jego przyczyną było bycie z ustawianiem różnych stylów paska stanu dla różnych ekranów. Dlatego musiałem dodać "Zobacz wygląd paska stanu na pasku stanu" w pliku plist. Ostrzeżenie zniknie, jeśli usunę ten klucz.

+0

Masz to. Przejdę do używania '[[wygląd UINavigationBar] setBarStyle: UIBarStyleBlack];', aby uzyskać pasek stanu z tekstem. –

0

Kiedy widzisz, że błąd pochodzący w kodzie, oznacza to, że jesteś przechodzącą NULL CGContextRef do jakiegoś kawałka rdzenia graficznego API (w tym przypadku CGContextSaveGState), co spowoduje cokolwiek rysunek starasz się zrobić, aby nie pracować lub zachowywać się nieoczekiwanie.

W tym przypadku nie pochodzi on z kodu, więc niewiele można z tym zrobić - na szczęście błąd nie jest krytyczny, więc można go bezpiecznie zignorować. Być może zechcesz jednak uzyskać file a bug z powrotem.

Powiązane problemy