CG_CONTEXT_SHOW_BACKTRACE çevre değişkenini nasıl ayarlayabilirim?


90

Görüşümde üç düğme var. ViewDidLoad () 'da cornerRadus'u ayarladıktan sonra: Günlükte button.layer.cornerRadius = 20aşağıdaki hata mesajını alıyorum:

 <Error>: CGContextSaveGState: invalid context 0x0. 
If you want to see the backtrace, please set 
CG_CONTEXT_SHOW_BACKTRACE environmental variable.

Sorular:

  • CG_CONTEXT_SHOW_BACKTRACE çevre değişkenini nasıl ayarlayabilirim?
  • Veya bu uyarıyı nasıl düzeltebilirim?

Tamam, şimdi mesajın izini sürdüm. Bana hiç mantıklı gelmiyor. Biraz yardım lütfen ...

Aug  7 14:27:00  <Error>: CGContextSaveGState: invalid context 0x0. Backtrace:
      <-[UIStatusBarItemView updateContentsAndWidth]+33>
       <-[UIStatusBarItemView initWithItem:data:actions:style:]+477>
        <+[UIStatusBarItemView createViewForItem:withData:actions:foregroundStyle:]+134>
         <-[UIStatusBarLayoutManager _createViewForItem:withData:actions:]+163>
          <-[UIStatusBarLayoutManager _prepareEnabledItemType:withEnabledItems:withData:actions:itemAppearing:itemDisappearing:]+36
           <-[UIStatusBarLayoutManager prepareEnabledItems:withData:actions:]+92>
            <-[UIStatusBarForegroundView _setStatusBarData:actions:animated:]+797>
             <-[UIStatusBarForegroundView setStatusBarData:actions:animated:]+332>
              <__51-[UIStatusBar _prepareToSetStyle:animation:forced:]_block_invoke+360>
               <+[UIView(Animation) performWithoutAnimation:]+65>
                <-[UIStatusBar _prepareToSetStyle:animation:forced:]+866>
                 <-[UIStatusBar _requestStyleAttributes:animationParameters:forced:]+391>
                  <-[UIStatusBar requestStyle:animationParameters:forced:]+437>
                   <-[UIStatusBar requestStyle:animated:forced:]+90>
                    <-[UIStatusBar _evaluateServerRegistration]+250>
                     <__45-[UIView(Hierarchy) _postMovedFromSuperview:]_block_invoke+590>
                      <-[UIView(Hierarchy) _postMovedFromSuperview:]+544>
                       <-[UIView(Internal) _addSubview:positioned:relativeTo:]+1967>
                        <-[UIStatusBarWindow setStatusBar:]+288>
                         <-[UIApplication _createStatusBarWithRequestedStyle:orientation:hidden:]+340>
                          <-[UIApplication _runWithMainScene:transitionContext:completion:]+950>
                           <-[UIApplication workspaceDidEndTransaction:]+188>
                            <-[FBSSerialQueue _performNext]+192>
                             <-[FBSSerialQueue _performNextFromRunLoopSource]+45>
                              <__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__+17>
                               <__CFRunLoopDoSources0+556>
                                <__CFRunLoopRun+867>
                                 <CFRunLoopRunSpecific+488>
                                  <-[UIApplication _run]+402>
                                   <UIApplicationMain+171>
                                    <main+117>



Aug  7 14:27:00  <Error>: CGContextTranslateCTM: invalid context 0x0. Backtrace:
      <-[UIStatusBarItemView updateContentsAndWidth]+33>
       <-[UIStatusBarItemView initWithItem:data:actions:style:]+477>
        <+[UIStatusBarItemView createViewForItem:withData:actions:foregroundStyle:]+134>
         <-[UIStatusBarLayoutManager _createViewForItem:withData:actions:]+163>
          <-[UIStatusBarLayoutManager _prepareEnabledItemType:withEnabledItems:withData:actions:itemAppearing:itemDisappearing:]+36
           <-[UIStatusBarLayoutManager prepareEnabledItems:withData:actions:]+92>
            <-[UIStatusBarForegroundView _setStatusBarData:actions:animated:]+797>
             <-[UIStatusBarForegroundView setStatusBarData:actions:animated:]+332>
              <__51-[UIStatusBar _prepareToSetStyle:animation:forced:]_block_invoke+360>
               <+[UIView(Animation) performWithoutAnimation:]+65>
                <-[UIStatusBar _prepareToSetStyle:animation:forced:]+866>
                 <-[UIStatusBar _requestStyleAttributes:animationParameters:forced:]+391>
                  <-[UIStatusBar requestStyle:animationParameters:forced:]+437>
                   <-[UIStatusBar requestStyle:animated:forced:]+90>
                    <-[UIStatusBar _evaluateServerRegistration]+250>
                     <__45-[UIView(Hierarchy) _postMovedFromSuperview:]_block_invoke+590>
                      <-[UIView(Hierarchy) _postMovedFromSuperview:]+544>
                       <-[UIView(Internal) _addSubview:positioned:relativeTo:]+1967>
                        <-[UIStatusBarWindow setStatusBar:]+288>
                         <-[UIApplication _createStatusBarWithRequestedStyle:orientation:hidden:]+340>
                          <-[UIApplication _runWithMainScene:transitionContext:completion:]+950>
                           <-[UIApplication workspaceDidEndTransaction:]+188>
                            <-[FBSSerialQueue _performNext]+192>
                             <-[FBSSerialQueue _performNextFromRunLoopSource]+45>
                              <__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__+17>
                               <__CFRunLoopDoSources0+556>
                                <__CFRunLoopRun+867>
                                 <CFRunLoopRunSpecific+488>
                                  <-[UIApplication _run]+402>
                                   <UIApplicationMain+171>
                                    <main+117>




Aug  7 14:27:00 <Error>: CGContextRestoreGState: invalid context 0x0. Backtrace:
      <-[UIStatusBarItemView updateContentsAndWidth]+33>
       <-[UIStatusBarItemView initWithItem:data:actions:style:]+477>
        <+[UIStatusBarItemView createViewForItem:withData:actions:foregroundStyle:]+134>
         <-[UIStatusBarLayoutManager _createViewForItem:withData:actions:]+163>
          <-[UIStatusBarLayoutManager _prepareEnabledItemType:withEnabledItems:withData:actions:itemAppearing:itemDisappearing:]+36
           <-[UIStatusBarLayoutManager prepareEnabledItems:withData:actions:]+92>
            <-[UIStatusBarForegroundView _setStatusBarData:actions:animated:]+797>
             <-[UIStatusBarForegroundView setStatusBarData:actions:animated:]+332>
              <__51-[UIStatusBar _prepareToSetStyle:animation:forced:]_block_invoke+360>
               <+[UIView(Animation) performWithoutAnimation:]+65>
                <-[UIStatusBar _prepareToSetStyle:animation:forced:]+866>
                 <-[UIStatusBar _requestStyleAttributes:animationParameters:forced:]+391>
                  <-[UIStatusBar requestStyle:animationParameters:forced:]+437>
                   <-[UIStatusBar requestStyle:animated:forced:]+90>
                    <-[UIStatusBar _evaluateServerRegistration]+250>
                     <__45-[UIView(Hierarchy) _postMovedFromSuperview:]_block_invoke+590>
                      <-[UIView(Hierarchy) _postMovedFromSuperview:]+544>
                       <-[UIView(Internal) _addSubview:positioned:relativeTo:]+1967>
                        <-[UIStatusBarWindow setStatusBar:]+288>
                         <-[UIApplication _createStatusBarWithRequestedStyle:orientation:hidden:]+340>
                          <-[UIApplication _runWithMainScene:transitionContext:completion:]+950>
                           <-[UIApplication workspaceDidEndTransaction:]+188>
                            <-[FBSSerialQueue _performNext]+192>
                             <-[FBSSerialQueue _performNextFromRunLoopSource]+45>
                              <__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__+17>
                               <__CFRunLoopDoSources0+556>
                                <__CFRunLoopRun+867>
                                 <CFRunLoopRunSpecific+488>
                                  <-[UIApplication _run]+402>
                                   <UIApplicationMain+171>
                                    <main+117>

4
Sorunun başlığı ve (düzenlenen) soru uyuşmazlığı. @utogaria size orijinal doğru cevabı verdi.
Aleksa

Yanıtlar:


81

9b5'teki bir hata:
https://forums.developer.apple.com/thread/13683

Apple ile bir RADAR dosyası oluşturun.


30
Bu hata Xcode 7.0'da (7A220) hala mevcuttur. Yeni bir boş proje oluşturarak ve UIViewControllerBasedStatusBarAppearance'ı info.plist içinde NO olarak ayarlayarak kolayca yeniden üretilebilir.
Kurul

13
Yukarıda belirtilen bağlantıda, bir Apple personeli şu yanıtı verdi: "Aslında, hata mesajlarının temel nedeni, bir uygulama gizli gibi bazı durum çubuğu türlerini kullandığında iOS ile ilgili bir sorundur." Ve "Bu uyarıyı göz ardı edebilirsiniz. "
samthui7

2
Aynı sorunu iOS 9.2ve altında gözlemliyorumXcode 7.2
Mohamed Saleh

140

Bu menü aracılığıyla bir çevresel değişken ayarlayabilirsiniz: Ürün -> Şema -> Şema Düzenle. "Çalıştır" öğesinin altında, "Bağımsız Değişkenler" sekmesini bulun, sekmede "Çevresel Değişkenler" göreceksiniz, Ekle CG_CONTEXT_SHOW_BACKTRACEve değerini YES olarak ayarlayın.


1
Teşekkürler, bu CG Bağlamının toplam geri izini gösteriyor ... Anlaşıldı, benim düğmelerimle hiçbir ilgisi yok .. bu UIStatusBarItemView ..
lighthouse16

3
Xib / film şeridi dosyanızı tekrar kontrol etmeyi deneyebilir misiniz ve özelleştirilmiş UIButton, UIBarButtonItem, vb. İçin herhangi bir arka plan görüntüsü olup olmadığını görebilir misiniz? Görüntü doğru şekilde ayarlanmadıysa (görüntü dosyası eksik, vb.) sahip olduğunuz gibi uyarılar.
utogaria

İki kez kontrol edildi .. tüm resimler doğru ayarlandı .. hepsi Assets.xcassets Düğmeleri bile kaldırdım .. aynı hata görünmeye devam ediyor ..
lighthouse16

1
Deneyebileceğin başka bir şey var. Xcode'da "kesme noktası gezginine" gidin ve bir "İstisna kesme noktası" ekleyin. Uygulamayı çalıştırın ve herhangi bir istisna kesme noktasını tetikleyip tetiklemediğine bakın. Eğer öyleyse, neler olduğunu daha derinlemesine görebilirsiniz.
utogaria

Çalışırsa, UI parçalarıyla ilgili hatayı ayıklamak için çok iyi bir fikirdir.
Arpit B Parekh

29

Bu sorun Benim durumumda Xcode 7. başıma ben kaldırıldı UIViewControllerBasedStatusBarAppearancegelen Info.plistve sorun çözüldü! Bu gönderideki cevaba bakın :


çözümünüz benim için de çalıştı, ancak ya UIStatusbar'ın beyaz kalmasını istersem?
swiftBoy

Çoğu insanın UIViewControllerBasedStatusBarAppearancesadece ihtiyaç duydukları için karar verdiklerini düşündüğümden, ama bu cevabın 19 olumlu oyu olduğu için yanıldığımı düşündüğüm için bunun bir "düzeltme" olduğunu düşünmüyorum: p
superarts.org

Evet ben size katılıyorum. Bu bağlantıda durum çubuğunun rengini değiştirmek için bir çözüm buldum: stackoverflow.com/a/32675066/1095530
Weles

Burada çalışmıyor ve durum çubuğunu gizlemenin eski yolu artık kullanımdan kaldırıldığı için bazı kişilerin
plistte buna ihtiyacı var

-6

Xcode 7'de:

Durum çubuğunun hala gizli olmasını istiyorsanız UIViewControllerBasedStatusBarAppearance, Info.plistdosyayı olarak değiştirin View controller-based status bar appearance. Tarafından ayarlamayı unutmaNO


2
Bu mantıklı değil; UIViewControllerBaseStatusBarAppearanceve View controller-based status bar appearanceaynı şey Info.plist. Biri anahtar değer, diğeri ise kullanıcının karşısındaki metindir.
esttorhe
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.