iOS 7.0 और सिस्टम की गिरावट के तहत अमान्य संदर्भ 0x0


218

मैंने कई खोज परिणामों के रूप में पढ़ा है जो मुझे इस खतरनाक समस्या पर मिल सकता है, दुर्भाग्यपूर्ण, प्रत्येक व्यक्ति एक विशिष्ट फ़ंक्शन कॉल पर ध्यान केंद्रित करता है।

मेरी समस्या यह है कि मुझे कई कार्यों से एक ही त्रुटि मिलती है, जो मुझे लगता है कि उन कार्यों से वापस बुलाया जा रहा है जिनका मैं उपयोग करता हूं।

मामले को बदतर बनाने के लिए, वास्तविक कोड एक कस्टम निजी ढांचे के भीतर है जिसे किसी अन्य परियोजना में आयात किया जा रहा है, और इस तरह, डिबगिंग उतना आसान नहीं है?

क्या कोई मुझे सही दिशा की ओर इशारा कर सकता है? मुझे लगता है कि मैं कुछ तरीकों को गलत तरीके से या खराब संदर्भ के साथ बुला रहा हूं, लेकिन इस बिंदु पर xcode से आउटपुट बहुत उपयोगी नहीं है।

: CGContextSetFillColorWithColor: अमान्य संदर्भ 0x0। यह एक गंभीर त्रुटि है। यह अनुप्रयोग, या इसका उपयोग करने वाला पुस्तकालय, एक अमान्य संदर्भ का उपयोग कर रहा है और जिससे सिस्टम स्थिरता और विश्वसनीयता के समग्र क्षरण में योगदान दे रहा है। यह नोटिस एक शिष्टाचार है: कृपया इस समस्या को ठीक करें। आगामी अपडेट में यह एक घातक त्रुटि बन जाएगी।

: CGContextSetStrokeColorWithColor: अमान्य संदर्भ 0x0। यह एक गंभीर त्रुटि है। यह अनुप्रयोग, या इसका उपयोग करने वाला एक पुस्तकालय, एक अमान्य संदर्भ का उपयोग कर रहा है और इस प्रकार सिस्टम स्थिरता और विश्वसनीयता के समग्र गिरावट में योगदान कर रहा है। यह नोटिस एक शिष्टाचार है: कृपया इस समस्या को ठीक करें। आगामी अपडेट में यह एक घातक त्रुटि बन जाएगी।

CGContextSaveGState: अमान्य संदर्भ 0x0। यह एक गंभीर त्रुटि है। यह अनुप्रयोग, या इसका उपयोग करने वाला पुस्तकालय, एक अमान्य संदर्भ का उपयोग कर रहा है और जिससे सिस्टम स्थिरता और विश्वसनीयता के समग्र क्षरण में योगदान दे रहा है। यह नोटिस एक शिष्टाचार है: कृपया इस समस्या को ठीक करें। आगामी अपडेट में यह एक घातक त्रुटि बन जाएगी।

: CGContextSetFlatness: अमान्य संदर्भ 0x0। यह एक गंभीर त्रुटि है। यह अनुप्रयोग, या इसका उपयोग करने वाला पुस्तकालय, एक अमान्य संदर्भ का उपयोग कर रहा है और जिससे सिस्टम स्थिरता और विश्वसनीयता के समग्र क्षरण में योगदान दे रहा है। यह नोटिस एक शिष्टाचार है: कृपया इस समस्या को ठीक करें। आगामी अपडेट में यह एक घातक त्रुटि बन जाएगी।

: CGContextAddPath: अमान्य संदर्भ 0x0। यह एक गंभीर त्रुटि है। यह अनुप्रयोग, या इसका उपयोग करने वाला पुस्तकालय, एक अमान्य संदर्भ का उपयोग कर रहा है और जिससे सिस्टम स्थिरता और विश्वसनीयता के समग्र क्षरण में योगदान दे रहा है। यह नोटिस एक शिष्टाचार है: कृपया इस समस्या को ठीक करें। आगामी अपडेट में यह एक घातक त्रुटि बन जाएगी।

: CGContextDrawPath: अमान्य संदर्भ 0x0। यह एक गंभीर त्रुटि है। यह अनुप्रयोग, या इसका उपयोग करने वाला पुस्तकालय, एक अमान्य संदर्भ का उपयोग कर रहा है और जिससे सिस्टम स्थिरता और विश्वसनीयता के समग्र क्षरण में योगदान दे रहा है। यह नोटिस एक शिष्टाचार है: कृपया इस समस्या को ठीक करें। आगामी अपडेट में यह एक घातक त्रुटि बन जाएगी।

: CGContextRestoreGState: अमान्य संदर्भ 0x0। यह एक गंभीर त्रुटि है। यह अनुप्रयोग, या इसका उपयोग करने वाला एक पुस्तकालय, एक अमान्य संदर्भ का उपयोग कर रहा है और इस प्रकार सिस्टम स्थिरता और विश्वसनीयता के समग्र गिरावट में योगदान कर रहा है। यह नोटिस एक शिष्टाचार है: कृपया इस समस्या को ठीक करें। आगामी अपडेट में यह एक घातक त्रुटि बन जाएगी।

: CGContextGetBlendMode: अमान्य संदर्भ 0x0। यह एक गंभीर त्रुटि है। यह अनुप्रयोग, या इसका उपयोग करने वाला एक पुस्तकालय, एक अमान्य संदर्भ का उपयोग कर रहा है और इस प्रकार सिस्टम स्थिरता और विश्वसनीयता के समग्र गिरावट में योगदान कर रहा है। यह नोटिस एक शिष्टाचार है: कृपया इस समस्या को ठीक करें। आगामी अपडेट में यह एक घातक त्रुटि बन जाएगी।

जब कोई कस्टम दृश्य प्रस्तुत किया जाता है, या उसके वंशानुगत वर्गों में से कोई एक त्रुटि हो सकती है। किस बिंदु पर वे कई बार स्पॉन करते हैं, जब तक कि कीबोर्ड कोई इनपुट प्रदान नहीं करेगा। टच ईवेंट्स अभी भी पंजीकृत हैं, लेकिन सिस्टम धीमा हो जाता है, और अंततः असंगत ऑब्जेक्ट त्रुटियों को जन्म दे सकता है।

EDIT # 1: मेरे पास आयात किए जा रहे ढांचे तक पहुंच है, लेकिन मुझे कक्षाओं में कुछ भी अजीब नहीं दिख रहा है, जो समस्या का कारण है।

EDIT # 2: मुझे सिर्फ एक ईमेल मिला है कि डेवलपर्स के लिए iOS 7.1 जारी किया गया है। मैं यह देखने के लिए उत्सुक हूं कि क्या यह दूर हो जाता है, या बदतर हो जाता है, या हल किया जा सकता है।


8
हमें अपने ऐप में यही त्रुटि मिलती है - फॉर्म पर मानक टेक्स्ट बॉक्स से। यदि आप टेक्स्ट बॉक्स को कई बार टैप करते हैं, तो कीबोर्ड आपको दिखा रहा है कि आपको यह त्रुटि दिखाई देगी।

मुझे भी। कभी इनमें से सैकड़ों लॉग, कभी शून्य। मैंने सोचा कि यह इसलिए है क्योंकि मैं ड्रॉ ओवरराइड कर रहा हूं: लेकिन यह कुछ और ही प्रतीत होता है। अभी के लिए इसे अनदेखा करना।
क्रुमेलूर

2
मैंने हाल ही में developer.apple.com (Apple द्वारा सुझाए गए कोड की नकल करते हुए) पर पहला ट्यूटोरियल पूरा किया है और मुझे यही त्रुटि मिली है। हो सकता है कि यदि अधिक अनुभवी प्रोग्रामर उस ट्यूटोरियल को देखें तो वे इस समस्या के कारण को ट्रैक करने में सक्षम हैं।
एंटोनियो सेस्टो

1
नीचे देखें (कस्टम UI तत्वों का उपयोग कर रहे विचारों में
स्वतः

1
अभी भी 2016 में होता है (XCode 7, iOS 9.2), अभी भी कोई स्पष्ट नुकसान नहीं हुआ है।
हैचमास्टर J

जवाबों:


162

अन्य आपको उस कोड को पोस्ट करने के लिए कहेंगे जहाँ आप एक कोर ग्राफिक्स संदर्भ का उपयोग करते हैं, लेकिन मुझे संदेह है कि यह मुद्दा है। ये अमान्य संदर्भ 0x0 त्रुटि संदेश iOS 7 में पुन: पेश करने के लिए सामान्य और आसान हैं। वास्तव में, मैं शून्य कोड के साथ स्टोरीबोर्ड का उपयोग करके त्रुटि को पुन: उत्पन्न कर सकता हूं। मैं IB में कैनवास पर एक UITextField को खींचता हूं, ऐप चलाता हूं, और टेक्स्ट फ़ील्ड के अंदर डबल टैप करता हूं।

कई स्थितियों में, अमान्य संदर्भ 0x0 त्रुटि संदेशों को गंभीरता से लेना मेरे लिए कठिन है। मुझे नहीं पता कि क्या आपकी स्थिति अधिक चिंता का विषय है (मैं रोब नेपियर से सहमत हूं कि यह जांच के लायक है, खासकर यदि आप स्पष्ट रूप से ग्राफिक्स संदर्भ का उपयोग कर रहे हैं)।

अपनी खुद की परियोजनाओं में, मैं उम्मीद कर रहा हूं कि इनमें से कई त्रुटियां जादुई रूप से किसी दिन गायब हो जाती हैं (लेकिन उस दिन 7.0.3 के साथ नहीं आई)।

अद्यतन: Xcode 5.1 को स्थापित करने और iOS 7.1 को लक्षित करने के बाद, मैं अब खाली पाठ क्षेत्र के अंदर डबल टैप करके त्रुटि को पुन: उत्पन्न नहीं कर सकता।


10
आप इस iOS 7 UITextField बग के बारे में पूरी तरह से सही हैं। इसके लिए एक राडार खोलना सुनिश्चित करें, हालाँकि (bugreport.apple.com) लेकिन यह मानने में जल्दबाजी न करें कि यहाँ समस्या है। चूंकि यह एक कस्टम दृश्य है, इसलिए यह पहले @ रोब के बिंदुओं की जांच करने योग्य है।
रोब नेपियर

2
यह मेरे साथ हो रहा है .. मैं आईबी पर एक uitextfield ड्रॉप, कि त्रुटि और कीबोर्ड प्रकट नहीं होता है .. वहाँ कुछ समाधान है ?? धन्यवाद
Frade

@ मेरे लिए, कीबोर्ड दिखाई देता है और स्टर्न त्रुटि संदेश के बावजूद ऐप सामान्य रूप से चलता है। तो आपको एक अतिरिक्त समस्या हो सकती है।
बिलोबाटम

3
मेरा भी यही मुद्दा है। यह केवल सिम्युलेटर में भी होता है, लेकिन मैंने देखा कि, जब मैं बग प्राप्त कर रहा हूं, तो मैं मैक कीबोर्ड का उपयोग सिम्युलेटर में टाइप करने के लिए नहीं कर सकता हूं और मुझे ऑनस्क्रीन कीबोर्ड का उपयोग करना होगा, जो बहुत निराशाजनक है। अपने ऐप में मैं किसी भी कस्टम विचार का उपयोग नहीं कर रहा हूं, इसलिए मैं कभी भी मैन्युअल रूप से सीजी संदर्भ का उपयोग या उपयोग नहीं करता हूं।

1
इसके लिए धन्यवाद, मैंने सोचा कि यह मेरी ऐप थी जो गलती पर थी! हालांकि आप पूरी तरह से सही हैं; यह एक टेक्स्ट फ़ील्ड पर डबल-क्लिक करना था जो मेरे लिए यह त्रुटि पैदा कर रहा था।
ऐश

201

आप क्या कोड इन लॉग खड़ी कर रहा है उत्सुक हैं, तो आप कर सकते हैं एक प्रतीकात्मक ब्रेकप्वाइंट जोड़ने पर CGPostError


2
CGPostError के बारे में टिप के लिए धन्यवाद। मैंने इस पर एक ब्रेकपॉइंट लगाया और ऐसा लग रहा है कि मैं इस समस्या का कारण बनने के लिए कुछ नहीं कर रहा हूं। मेरे मामले में यह मुख्य धागे पर हो रहा है, लेकिन मेरे कोड में नहीं।
पॉल हेलर

10
वोटिन ने इसे उठाया, क्योंकि यह इस विशिष्ट मामले में समाधान नहीं है, यह अक्सर उजागर करेगा कि गलती कहाँ है, जब यह प्रोग्रामर के अपने कोड के दायरे में है।
ऐश

27
बहुत अच्छा सुझाव है। उन लोगों के लिए जो प्रतीकात्मक विराम बिंदुओं से परिचित नहीं हैं या उन्हें Xcode में कैसे जोड़ा जाए, इसके बारे में यहां Apple के डॉक्टर ने बताया है। developer.apple.com/library/ios/recipes/…
टोनी एडम्स

इससे मुझे मदद मिली। मेरे मामले में इसने मेरे ओएस एक्स ऐप पर एक दृश्य में एक NSGradient जोड़ने पर प्रकाश डाला।
हारून वेगा

1
ऐसा लगता है कि मैं एक निश्चित दृश्य के लिए एक फ्रेम स्थापित करने से पहले ड्राइंग कर रहा था, धन्यवाद! :)
रिक वैन डेर लिंडे

42

त्रुटियों के इन प्रकार ऐतिहासिक कोर ग्राफिक्स कार्यों बुला जब एक संदर्भ है कि भीतर स्थापित है के भीतर नहीं का परिणाम है drawRectया की तरह कॉल के बीच UIGraphicsBeginImageContextऔर UIGraphicsEndImageContext(जो कि शुरू करते हैं और एक संदर्भ अंत की तरह या अन्य UIKit कार्यों)।

हालांकि, बिलोबाटम सही है कि त्रुटियों का यह विशेष क्रम आईओएस 7 बग का एक परिणाम हो सकता है जो वह अपने जवाब में संदर्भित करता है। यदि आपके iOS6 लक्ष्यों में इन त्रुटियों को नहीं देखा जा रहा है, या यदि इस निजी ढांचे के त्वरित स्कैन के बाद आपको कोई भी कोर ग्राफिक्स कॉल नहीं मिलती है, तो यह सिर्फ iOS 7 बग हो सकता है। अच्छी पकड़, बिलोबाटम!


मेरे पास निजी ढांचे में एक दृश्य है जो ड्रॉक्टेक कहता है। जबकि मैं किसी भी उल्लिखित तरीके को सीधे नहीं कह रहा हूं, मेरी एकमात्र धारणा यह है कि उस वर्ग का कोड किसी न किसी तरह से संबंधित है। फिर भी, जैसे मैंने उल्लेख किया है, सब कुछ पिछले iOS'es के तहत सुचारू रूप से चलता है।
Ælex

पूर्णता के लिए (यह शीर्ष Google परिणाम है), मैं यह नोट करना चाहूंगा कि क्रिप्टिक त्रुटि OSX 10.11.3 पर अपरिवर्तित है - और, जैसा कि रोब कहते हैं, ड्राअरक्ट के बाहर एक ड्राइंग फ़ंक्शन होने या किसी अन्य संदर्भ से - संबंधित कार्य।
21_37 को हरे_कन्याट

26
UIGraphicsBeginImageContext( size );
CGContextRef context = UIGraphicsGetCurrentContext();

सुनिश्चित करें कि size. उपलब्धता या size.height 0 नहीं है,

आप चेक ब्रेकप्वाइंट को CGPostError में जोड़ सकते हैं


तो ... CGPostError पर एक प्रतीकात्मक ब्रेकप्वाइंट जोड़कर, उस बिंदु पर आकार कैसे देख सकता है?
संकट

आप कमांड + 6 द्वारा "डिबग नेविगेशन दिखाएं" में फ़ंक्शन कॉल स्टैक देख सकते हैं। फिर आप पेड़ पर क्लिक करते हैं, फिर आप चर को देखने के लिए अपने फ़ंक्शन पर वापस जा सकते हैं।
lbsweek

हां, मैं उस कल्पना को परिपत्र बनाने के लिए इमेजव्यू पास कर रहा था, लेकिन, पाया कि इसका आकार शून्य था। अंत में 2 दिनों के बाद हल हो गया: डी।
JiteshW

19

मुझे साधारण UITextField (कीबोर्ड नहीं दिखा रहा है और कंसोल पर कई अलग-अलग अमान्य संदर्भ त्रुटि संदेश) के साथ यह समस्या थी। मैं एसओ पर एक और समस्या को देखते हुए वर्कअराउंड ढूंढता हूं: CFBundle CertUIFramework.axundundle के लिए निष्पादन योग्य नहीं मिल सकता है

बस करो:

iOS सिम्युलेटर> सामग्री और सेटिंग्स रीसेट करें ... पर क्लिक करें और फिर से चलाएँ।

समस्या अब और नहीं होनी चाहिए


16

मेरे मामले में मुझे इस कोड में ये त्रुटियां मिली हैं:

CAShapeLayer *shapeLayer = [CAShapeLayer layer];
UIBezierPath *path;

path = [UIBezierPath bezierPath];
[path moveToPoint:CGPointMake(0, 0)];
[path addLineToPoint:CGPointMake(size*2, 0)];
[path addLineToPoint:CGPointMake(size, size*2)];
[path closePath];
[path fill];

shapeLayer.path = path.CGPath;
shapeLayer.strokeColor = [[UIColor blackColor] CGColor];
shapeLayer.fillColor = color;
shapeLayer.lineWidth = width;

[self addSublayer:shapeLayer];

कुछ विचारों और परीक्षण के बाद मैं समस्या का पता लगाता हूं - यह कॉल था:

[path fill];

जैसा कि मैंने पता लगाया है - मेरे कोड में यह कॉल आवश्यक नहीं है, क्योंकि फिलिंग अन्य तरीके से की जाएगी - इसलिए मैं बस इसे हटा देता हूं।


5

मेरे पास यही मुद्दा था और मैं क्वार्ट्जकोर / क्वार्ट्जकोर आयात करना भूल गया था। यह इन त्रुटियों के साथ मेरा मुद्दा हल हो गया।

    #import <QuartzCore/QuartzCore.h>

5

सीधा उत्तर: समस्या यह है कि आपने - (void)drawRect:(CGRect)rectइस विधि के अलावा अन्य ग्राफिक्स तत्वों जैसे CGContext आदि का उपयोग किया है।

अब कृपया अपने कोड को इस विधि पर ले जाएँ। और यह आपको चेतावनी / त्रुटियां देने से रोक देगा।


4

मुझे यह त्रुटि मिल रही थी क्योंकि मैं एक NSAttributedString शब्दकोश में एक विशेषता के रूप में एक UIColor वस्तु का उपयोग कर रहा था जो कि CATextLayer ऑब्जेक्ट में उपयोग किया जा रहा था। मैंने एक CGColorRef रखने के लिए शब्दकोश को बदल दिया और त्रुटि दूर हो गई।

[wordAttributes setObject:(id)[UIColor whiteColor].CGColor forKey:(NSString*)kCTForegroundColorAttributeName];

2

मेरे पास ऐसे मामले हैं जहां से संदर्भ लौटा UIGraphicsGetCurrentContext()है NULL, और यदि आप किसी भी चीज़ के लिए इसका उपयोग करने का प्रयास करते हैं तो यह संदेश प्रकट होता है। UIGraphicsPushContextकॉल करने से पहले किसी संदर्भ का उपयोग करने के लिए यह दृश्य की जिम्मेदारी है drawRect:, यदि आप drawRect:सीधे कॉल करते हैं तो इसके बजाय [view setNeedsDisplay]आप उस संदर्भ को जोखिम में डालते हैं जो अभी तक सेट नहीं किया गया है। मेरा कूबड़ यह है कि iOS 7 से पहले संदर्भ को देखने के लिए धक्का दिया गया था init, और अब iOS 7 पर संदर्भ को तब तक नहीं धकेला जाता है जब तक कि पहली बार drawRect:कॉल नहीं किया जाता है। मुझे संदेह है कि कुछ UIKit कोड कॉल कर रहा हैdrawRect: सीधे कर हैं और यही कारण है कि कुछ कोड के साथ समस्याएँ भी हैं जब कोई कस्टम ड्राइंग नहीं की जा रही है।

समाधान (यदि कस्टम ड्राइंग कर रहे हैं):

  1. drawRect:सीधे कॉल न करें , उपयोग करें [view setNeedsDisplay]या यदि आपको तत्काल ड्राइंग उपयोग की आवश्यकता है[view.layer draw]
  2. अपने drawRect:संदर्भ में, लेकिन अगर यह बयान के शरीर के बाहर इसका इस्तेमाल नहीं करतेif (context) {<do drawing here>}

2

प्रभावित दृश्य में ऑटोलेयूट को बंद करने से यह त्रुटि कुछ मामलों में दूर चली जाती है जहां आप यूआई तत्वों (विशेष रूप से कस्टम वाले जो प्रोग्राम के रूप में खींचे जाते हैं) को एक दृश्य में ले जाते हैं। जब मैंने इस लक्षण का पता लगाया तो मैं JVFloatLabeledTextField का उपयोग कर रहा था।


2

कुछ मामलों में आपको लाइन को शामिल करने की आवश्यकता हो सकती है #import <QuartzCore/QuartzCore.h>


2

मुझे यह त्रुटि मेरे कस्टम CALayer क्रियान्वयन की drawInContext (..) विधि में मिली। UIBezierPath UIGraphicsGetCurrentContext () का उपयोग करने की कोशिश करता है जो डिफ़ॉल्ट रूप से कस्टम लेयर में शून्य होता है। ऑनलाइन प्रलेखन बहुत स्पष्ट रूप से यह बताते हैं -

यदि आप अपने ड्राइंग को करने के लिए एक UIView ऑब्जेक्ट का उपयोग नहीं कर रहे हैं, हालांकि, आपको UIGraphicsPushContext फ़ंक्शन का उपयोग करके मैन्युअल रूप से स्टैक पर एक वैध संदर्भ को धक्का देना होगा।

यहाँ कोड है कि अंत में मेरी टिप्पणियों इनलाइन के साथ काम किया है (स्विफ्ट कोड, लेकिन समाधान समान है)

override func drawInContext(ctx: CGContext!) {  
    var path = UIBezierPath()

    // 1. Make sure you push the CGContext that was first passed into you.
    UIGraphicsPushContext(ctx)
    path.moveToPoint(CGPoint(x: 0, y: 0))
    path.addLineToPoint(CGPoint(x: 150, y: 150))
    var lineColor = UIColor.blueColor()
    lineColor.setStroke()
    path.lineWidth = 2
    path.stroke(
    // 2. Pop the context after you are done.
    UIGraphicsPopContext()
}

2

मेरे मामले में मैं कैप इनसेट के साथ एक संकल्पनीय छवि बनाते समय यह चेतावनी दे रहा था। समस्या यह थी कि मैं "अनकैप्ड" क्षेत्र में कम से कम 1 पिक्सेल नहीं छोड़ रहा था।

    UIImage *image = [UIImage imageNamed:@"name"];
    UIEdgeInsets edgeInsets = UIEdgeInsetsMake(20, 10, 20, 10);  //Problem here if the width is 20 or the height is 40
    image = [image resizableImageWithCapInsets:edgeInsets];

1
वास्तव में एक ही मुद्दा था। जाहिरा तौर पर आपको उस क्षेत्र के कम से कम 1 बिंदु को छोड़ना होगा जहां छवि खिंचाव कर सकती है
11:15

1

मैं नीचे दिए गए कोड का उपयोग करके संदर्भ से UIImage बना रहा था:

    UIGraphicsBeginImageContext (आकार);
    CGContextRef प्रसंग = UIGraphicsGetCurrentContext ();

    CGContextSetFillColorWithColor (संदर्भ, रंग। CGColor);
    CGContextFillRect (संदर्भ, (CGRect) {। Size = size});

    UIImage * image = UIGraphicsGetImageFromCurrentImageContext ();
    UIGraphicsEndImageContext ();

इस प्रकार मुझे त्रुटि मिल रही थी।

इसलिए मैंने व्युत्पन्न डेटा सामग्री को हटा दिया, मेरे XCode को पुनः आरंभ किया। और इसने काम किया।


फिर क्या उपाय है?
Geek

1
@ गीक, अद्यतन समाधान। DerivedData सामग्री निकालें और पुनरारंभ करें।
मिलें

1

मेरी भी यही समस्या है। मेरी परियोजना में, मेरे पास एक टेक्स्टफिल्ड बनाने और इसे मेरी पीडीएफ फाइल में जोड़ने का प्रयास है। पुराना कोड:

- (void) drawInContext:(CGContextRef)context {
    //Otherwise we're upside-down
    CGContextSetTextMatrix(context, CGAffineTransformMake(1.0,0.0, 0.0, -1.0, 0.0, 0.0));

    CGContextSetTextDrawingMode(context, kCGTextFill); // This is the default
    [[UIColor blackColor] setFill]; // ***This is the problem ***

    CGFloat x = self.rect.origin.x;
    CGFloat y = self.rect.origin.y + self.font.pointSize;
    [self.text drawAtPoint:CGPointMake(x, y)
            withAttributes:@{NSFontAttributeName:[UIFont fontWithName:@"Arial" size:12]}];
}

इस समस्या को हल करने के बाद, कोड बदल गया:

old:[[UIColor blackColor] setFill]; 

new:CGContextSetFillColorWithColor(context, [[UIColor blackColor] CGColor]);

मुझे UIColor SetFill में समाधान नहीं मिला । और धन्यवाद सहायक।


1

मुझे कोड के साथ त्रुटि मिली

UIBezierPath *path = [UIBezierPath bezierPath];
[path moveToPoint:pointA];
[path addLineToPoint:pointB];
[path addLineToPoint:pointC];
[[UIColor colorWithHexString:@"EFEFEF"] set];
[path fill];
[path closePath];

CAShapeLayer *triangle = [CAShapeLayer layer];
triangle.fillColor = [UIColor colorWithHexString:@"EFEFEF"].CGColor;
triangle.path = path.CGPath;

return triangle;

और कोड हटा दिया

[[UIColor colorWithHexString:@"EFEFEF"] set];
[path fill];

दुनिया चुप हो गई


0

मेरे लिए, इसका उत्तर यह था कि मैं अनावश्यक रूप से ग्राफिक्स संदर्भ को जारी कर रहा था drawRect:। CGPostError पर एक प्रतीकात्मक ब्रेकप्वाइंट फेंकने से मुझे अपराधी की ओर इशारा किया गया।


0

इस त्रुटि के रूप में मैं सेट किया था

textfield.delegate = self

किसी भी प्रतिनिधि दिनचर्या को लागू किए बिना। उस लाइन को हटाने से मेरे लिए समस्या हल हो गई


0

मुझे एक UITextField में यह समस्या थी जब मैंने बस प्लेसहोल्डर टेक्स्ट के साथ एक खाली क्षेत्र पर टच किया था। मैंने खाली खेतों को खत्म करने के लिए निम्नलिखित कार्य-का उपयोग किया:

-(void)textFieldDidBeginEditing:(UITextField *)textField{

        textField.text=[@" " stringByAppendingString:textField.text];

        //other stuff here
}


-(BOOL)textFieldShouldReturn:(UITextField *)textField{

         if(textField.text.length>0){
             if([[textField.text substringToIndex:1] isEqualToString:@" "])
                 textField.text=[textField.text substringFromIndex:1];
         }
         //  other stuff here
}

0

मेरे लिए मुझे यह त्रुटि मिल रही थी क्योंकि मैं CGContextRef को जारी कर रहा था जैसा कि नीचे दिखाया गया है:

- (void)drawRect:(CGRect)rect
{
    CGContextRef context = UIGraphicsGetCurrentContext();

    // DRAW BACKGROUND CIRCLE
    CGContextSetFillColorWithColor(context, [[UIColor gray] colorWithAlphaComponent:0.6].CGColor);
    CGContextFillEllipseInRect(context, rect);

//    CGContextRelease(context);
}

रिलीज को हटाने से समस्या हल हो गई


0

मुझे यह तब मिला जब मैंने UIActivity subclass में गतिविधि नाम छवि विधि में गलत नाम दिया

- (UIImage *)activityImage
{
    return [UIImage imageNamed:@"img.png"];
}

सही छवि टाइप करने से यह मेरे लिए हल हो गई।



0

जिन अन्य लोगों ने यहाँ टिप्पणी की है, मुझे यह चेतावनी तब मिली जब मैंने निम्नलिखित में से कोई भी किया:

रिक्त पाठ फ़ील्ड पर: डबल टैपिंग, टच और होल्ड, लॉन्ग सिंगल टैप।

यह केवल iOS 7.0.3 को प्रभावित करता है

मैंने चारों ओर एक काम की खोज की, यदि आपका पेस्टबोर्ड NULL नहीं है, तो चेतावनी को ट्रिगर नहीं किया जाएगा।

तो मैंने textFieldDidBeginEditing में निम्न कार्य किया:

- (void)textFieldDidBeginEditing:(UITextField *)textField {

    UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
    if (pasteboard.string.length == 0) {

        pasteboard.string = @" ";

    }
}

मैंने आईओएस 7.0.3 के लिए आईफोन 7.0.3, 5 और 5 एस पर सिम्युलेटर में इसका परीक्षण किया और अब चेतावनी प्राप्त नहीं करता है। मैंने आईओएस 8 के लिए आईफोन 8 और 6 प्लस पर सिम्युलेटर में भी इसका परीक्षण किया लेकिन मुझे विश्वास नहीं है कि आईओएस 8 प्रभावित है।

इस काम की खोज करने से पहले दो दिनों की हताशा से गुजरा इसलिए मुझे उम्मीद है कि मेरा जवाब आप में से उन लोगों की मदद करता है जो एक ही मुद्दे पर हैं।


0

यदि आप UIBezierPath का उपयोग कर रहे हैं और स्ट्रोक या भरण के लिए रंग सेट करते समय त्रुटि उत्पन्न होती है, तो निर्धारित रंग कोड को अन्य स्थानों के बजाय ड्राअरक्ट फ़ंक्शन में डालें।


0

यह हैकरी है लेकिन इसने मेरे लिए काम किया।

मैं की स्थापना UIImageViewमें UITableViewCellहैinit , यह एक आकार और बाधाओं दे।

फिर मेरे विचार में नियंत्रक cellForRowAtIndexPathमैं ऐसा करता हूं:

let img = PFImageView(frame: CGRect(x: 0, y: 0, width: 50, height: 50))
img.setImage(withFile: nil, defaultText: message.senderUsername)
cell.profileImageView?.image = img.image

और वह त्रुटि से बचा जाता है, फिर उस फ़ंक्शन में नीचे मैंने उसके लिए वास्तविक छवि सेट की है UIImageView। उपरोक्त कोड एक अच्छा डिफ़ॉल्ट है

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.