Am'am citit ca multe rezultate de căutare aș putea găsi pe acest temut problema, din pacate, fiecare pare să se concentreze pe un anumit apel de funcție.
Problema mea este ca eu primesc aceeasi eroare de mai multe funcții, care presupun că sunt chemat înapoi la functiile care le folosesc.
Pentru a face lucrurile si mai rele, codul actual este într-o personalizat privat-cadru care sunt importate într-un alt proiect, și, ca atare, depanare e't la fel de simplu?
Poate cineva sa-mi punct în direcția cea bună? Am un sentiment am'm apelarea unor metode mod eronat sau cu rea context, dar de ieșire de xcode nu este de foarte mare ajutor în acest moment.
: CGContextSetFillColorWithColor: invalid 0x0 context. Acest lucru este o gravă eroare. Această aplicație, sau o bibliotecă se folosește, este folosind un invalid de context și este contribuind astfel la efortul general de degradare sistemul de stabilitate și fiabilitate. Acest anunț este o politețe: vă rugăm să rezolva această problemă. Acesta va deveni o eroare fatală într-o actualizare viitoare. : CGContextSetStrokeColorWithColor: invalid 0x0 context. Asta este o eroare gravă. Această aplicație, sau o bibliotecă se folosește, este utilizarea un invalid context și este contribuind astfel la efortul general de de degradare a sistemului de stabilitate și fiabilitate. Acest anunț este o politețe: vă rog să rezolvați această problemă. Acesta va deveni o eroare fatală într-un actualizare viitoare. CGContextSaveGState: invalid 0x0 context. Aceasta este o gravă eroare. Această aplicație, sau o bibliotecă se folosește, este folosind un context invalid și este contribuind astfel la efortul general de degradare a sistemului de stabilitate și fiabilitate. Acest anunț este o politețe: vă rugăm să repar asta problemă. Acesta va deveni o eroare fatală într-o actualizare viitoare.
: CGContextSetFlatness: invalid 0x0 context. Aceasta este o gravă eroare. Această aplicație, sau o bibliotecă se folosește, este folosind un invalid context și este contribuind astfel la efortul general de degradare a sistem de stabilitate și fiabilitate. Acest anunț este o politețe: vă rugăm să rezolva această problemă. Acesta va deveni o eroare fatală într-o actualizare viitoare. : CGContextAddPath: invalid 0x0 context. Aceasta este o gravă eroare. Această aplicație, sau o bibliotecă se folosește, este folosind un invalid context și este contribuind astfel la efortul general de degradare a sistem de stabilitate și fiabilitate. Acest anunț este o politețe: vă rugăm să rezolva această problemă. Acesta va deveni o eroare fatală într-o actualizare viitoare. : CGContextDrawPath: invalid 0x0 context. Aceasta este o gravă eroare. Această aplicație, sau o bibliotecă se folosește, este folosind un invalid context și este contribuind astfel la efortul general de degradare a sistem de stabilitate și fiabilitate. Acest anunț este o politețe: vă rugăm să rezolva această problemă. Acesta va deveni o eroare fatală într-o actualizare viitoare. : CGContextRestoreGState: invalid 0x0 context. Aceasta este o eroare gravă. Această aplicație, sau o bibliotecă se folosește, este folosind un invalid de context și este contribuind astfel la efortul general de degradare sistemul de stabilitate și fiabilitate. Acest anunț este o politețe: vă rugăm să rezolva această problemă. Acesta va deveni o eroare fatală într-o actualizare viitoare. : CGContextGetBlendMode: invalid 0x0 context. Aceasta este o gravă eroare. Această aplicație, sau o bibliotecă se folosește, este folosind un invalid context și este contribuind astfel la efortul general de degradare a sistem de stabilitate și fiabilitate. Acest anunț este o politețe: vă rugăm să rezolva această problemă. Acesta va deveni o eroare fatală într-o actualizare viitoare.
Aceste erori pot să apară atunci când o vizualizare personalizată este prezentat, sau unul dintre ei a moștenit clase. Moment în care se reproduc de mai multe ori, până când tastatura a câștigat't oferi orice date de intrare. Evenimente tactile sunt încă înregistrate, dar sistemul încetinește, și în cele din urmă poate duce la nealocat obiect erori.
EDIT #1: eu nu am acces la acest cadru fiind importate, dar eu nu văd nimic ciudat în clase care cauzează problema.
EDIT #2: tocmai am primit un e-mail pe care iOS 7.1 a fost lansat pentru dezvoltatori. Am'm curios să văd dacă dispare, sau se pot agrava sau pot fi rezolvate.
Daca're curios ce cod cauzează aceste jurnale, tu, poți adăuga un simbolic breakpoint](https://developer.apple.com/library/ios/recipes/xcode_help-breakpoint_navigator/articles/adding_a_symbolic_breakpoint.html) pe CGPostError
.
Alții vă va cere pentru a posta codul unde ai acces la o bază de grafică context, dar mă îndoiesc că's problema. Aceste invalid context 0x0 mesaje de eroare sunt comune și ușor de a reproduce în iOS 7. În fapt, nu pot reproduce eroarea folosind rezumat cu cod de zero. Am trage o UITextField pe pânză în IB, rula aplicația, și apăsați de două ori în câmpul de text.
În multe situații, se's greu pentru mine să ia invalid context 0x0 mesaje de eroare în serios. Eu nu't știu dacă situația o impune o preocupare mai mare (sunt de acord cu Rob Napier care-l's valoare de investigare, mai ales dacă sunteți în mod explicit, folosind o grafică de context).
În proiectele mele, am'm sperând că multe dintre aceste erori dispar ca prin magie intr-o zi (dar acea zi nu a venit cu 7.0.3).
Actualizare: După instalarea Xcode 5.1 și direcționarea iOS 7.1, nu mai pot reproduce eroarea de dublu atingând în interior un gol câmp de text.
Aceste tipuri de erori sunt din punct de vedere istoric rezultatul de asteptare Grafică de Bază funcții atunci când nu într-un context care nu este stabilit pe teritoriul drawRect
sau între apeluri, cum ar fi UIGraphicsBeginImageContext
și UIGraphicsEndImageContext
(sau alte UIKit funcții de genul asta, care începe și se încheie un context).
Având în a spus că, totuși, bilobatum este corect că această secvență de erori pot fi un rezultat de care iOS 7 bug a referințe în răspunsul său. Dacă nu vedeți aceste erori în iOS6 obiective, sau dacă după o scanare rapidă a acestui cadru privat nu't găsi orice suspect Grafică de Bază apeluri, acesta poate fi doar acest iOS 7 bug. Captură bună, bilobatum!
UIGraphicsBeginImageContext( size );
CGContextRef context = UIGraphicsGetCurrentContext();
asigurați-vă că dimensiunea.lățime sau dimensiune.înălțimea nu este 0,
puteți adăuga simbolul breakpoint pentru a CGPostError pentru a verifica
Nu am avut aceasta problema cu un simplu UITextField (tastatura nu apar și multe diferite invalid context mesaje de eroare de pe consola). Am găsit o soluție uitandu-se la o altă problemă pe ATÂT de: https://stackoverflow.com/questions/18888059/cannot-find-executable-for-cfbundle-certuiframework-axbundle
Doar să faceți:
faceți clic pe iOS Simulator > Reseta Conținutul și Setările și a alerga din nou.
Problema ar trebui't fi acolo
În cazul meu, am'am aceste erori în acest cod:
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];
după unele gânduri și testați-am detecta problema - a fost acest apel:
[path fill];
ca am detectat - în codul meu acest lucru nu este necesar, deoarece de umplere va fi făcut de altă parte - așa că am pur și simplu scoateți-l.
Răspuns Direct :
Problema este că te-ai folosit de Bază elemente grafice ca CGContext etc în alte decât - (void)drawRect:(CGRect)rect
această metodă.
Acum amabilitate codul la această metodă. Și va strop oferindu-vă avertismente/Erori.
Am fost obtinerea această eroare pentru că am fost folosind-o UIColor obiect ca un atribut într-o NSAttributedString dicționar care a fost utilizat într-o CATextLayer obiect. Am schimbat dicționar să dețină un CGColorRef și eroarea s-a dus.
[wordAttributes setObject:(id)[UIColor whiteColor].CGColor forKey:(NSString*)kCTForegroundColorAttributeName];
Oprirea autolayout afectate de vedere provoacă această eroare să plece în unele cazuri, în cazul în care te're plasarea și se deplasează elemente de UI (mai ales cele personalizate care sunt trase programatic) într-un punct de vedere. Am fost folosind JVFloatLabeledTextField de cand am descoperit acest simptom.
Am primit această eroare în drawInContext(..) metoda de obiceiul meu CALayer aplicare. UIBezierPath încearcă să folosească UIGraphicsGetCurrentContext (), care este nulă în mod implicit într-un strat personalizat. De documentare on-line explică acest lucru foarte clar -
Dacă nu utilizați un obiect UIView să fac desen, cu toate acestea, trebuie să apăsați un context valid pe stiva manual, folosind UIGraphicsPushContext funcție.
Aici's codul care în cele din urmă a lucrat cu comentarii inline (codul Swift, dar soluția este aceeași indiferent)
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()
}
În cazul meu am avut de avertizare atunci când se creează un resible imagine cu capac introduceri. Problema a fost că am fost't lăsând cel puțin 1 pixel în "de calcul" zona.
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];
Am avut cazuri în care contextul întors de la UIGraphicsGetCurrentContext()
e NULL
, și dacă încercați să utilizați-l pentru orice apare acest mesaj. Acesta este punctul de vedere's responsabilitatea de a împinge un context folosind UIGraphicsPushContext
înainte de a te chema drawRect:
, dacă te sun drawRect:
direct [vezi setNeedsDisplay] te riscul contextul nu a fost stabilit încă. Bănuiala mea este că, înainte de iOS 7 contextul fost împins pentru a vizualiza pe
init, iar acum pe iOS 7 contextul e't împins până la prima dată drawRect:
este pe cale de a fi numit. Bănuiesc ceva UIKit cod este de asteptare drawRect:
direct, și acest lucru este de ce există probleme cu un cod chiar și atunci când nici un desen personalizat se face.
Soluții (dacă faci desen personalizat):
drawRect:
direct, foloseste - [vezi setNeedsDisplay]sau dacă aveți nevoie imediată de desen utilizat
[vedere.strat trage]`ia de context, dar don't-l folosească în afara corpului de această declarație în cazul dacă (context) {<face desen aici>}
Am primit eroare cu codul
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;
și după ce a eliminat cod
[[UIColor colorWithHexString:@"EFEFEF"] set];
[path fill];
Lumea a devenit tăcut
Am fost crearea de UIImage de context folosind codul de mai jos:
UIGraphicsBeginImageContext(dimensiune); CGContextRef context = UIGraphicsGetCurrentContext();CGContextSetFillColorWithColor(context, color.CGColor); CGContextFillRect(context, (CGRect){.size = size}); UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext();
Astfel, am fost obtinerea de eroare.
Așa că am scos Derivate de Date de conținut, repornit mea XCode. Și a funcționat.
Eu am aceeasi problema. În proiectul meu, trebuie să încerce să creeze un textField și adăugați-l la un fișier pdf. Cod Vechi:
- (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]}];
}
După ce a rezolvat această problemă,codul s-a schimbat :
old:[[UIColor blackColor] setFill];
new:CGContextSetFillColorWithColor(context, [[UIColor blackColor] CGColor]);
Am gasit solutia la https://stackoverflow.com/questions/10623545/uicolor-setfill-doesnt-work. Si Multumesc de ajutor.
Acest lucru este hacky dar ea a lucrat pentru mine.
Am setat UIImageView " în " UITableViewCell
's init
, da o dimensiune și constrângeri.
Apoi, din punctul meu de vedere controler's cellForRowAtIndexPath
am face acest lucru:
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
Și care evită eroarea, apoi mai jos, care în funcție, am setat imaginea reală pentru că UIImageView`. Codul de mai sus este un bun mod implicit
Am avut această problemă într-un UITextField când m-am ținut atinge peste un câmp gol, cu doar un substituent de text. Am folosit următoarele pentru a elimina câmpurile goale:
-(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
}