I'telah membaca banyak hasil pencarian yang saya bisa menemukan di ini ditakuti masalah, sayangnya, masing-masing tampaknya berfokus pada suatu fungsi tertentu panggilan.
Masalah saya adalah bahwa saya mendapatkan kesalahan yang sama dari beberapa fungsi, yang saya duga dipanggil kembali dari fungsi-fungsi yang saya gunakan.
Untuk membuat keadaan menjadi lebih buruk, sebenarnya kode ini hanya kustom pribadi framework yang sedang diimpor dalam proyek lain, dan dengan demikian, debugging isn't sederhana?
Adakah yang bisa mengarahkan saya ke arah yang benar? Aku punya perasaan aku'm memanggil metode-metode tertentu yang salah atau buruk konteks, tapi output dari xcode sangat tidak berguna saat ini.
: CGContextSetFillColorWithColor: tidak valid konteks 0x0. Ini adalah sebuah kesalahan serius. Aplikasi ini, atau perpustakaan menggunakan, menggunakan tidak valid dalam konteks dan dengan demikian memberikan kontribusi untuk keseluruhan degradasi dari sistem stabilitas dan kehandalan. Pemberitahuan ini adalah courtesy: silakan memperbaiki masalah ini. Itu akan menjadi kesalahan fatal dalam update mendatang. : CGContextSetStrokeColorWithColor: tidak valid konteks 0x0. Ini adalah kesalahan serius. Aplikasi ini, atau perpustakaan menggunakan, menggunakan konteks yang tidak valid dan dengan demikian memberikan kontribusi untuk keseluruhan degradasi sistem stabilitas dan kehandalan. Pemberitahuan ini adalah courtesy: segera memperbaiki masalah ini. Itu akan menjadi kesalahan fatal dalam update mendatang. CGContextSaveGState: tidak valid konteks 0x0. Ini adalah kesalahan serius. aplikasi Ini, atau perpustakaan menggunakan, menggunakan konteks yang tidak valid dan dengan demikian memberikan kontribusi untuk keseluruhan degradasi sistem stabilitas dan kehandalan. Pemberitahuan ini adalah courtesy: segera memperbaiki kesalahan ini masalah. Itu akan menjadi kesalahan fatal dalam update mendatang.
: CGContextSetFlatness: tidak valid konteks 0x0. Ini adalah serius kesalahan. Aplikasi ini, atau perpustakaan menggunakan, menggunakan aplikasi yang tidak valid konteks dan dengan demikian memberikan kontribusi untuk keseluruhan degradasi sistem stabilitas dan kehandalan. Pemberitahuan ini adalah courtesy: silakan memperbaiki masalah ini. Itu akan menjadi kesalahan fatal dalam update mendatang. : CGContextAddPath: tidak valid konteks 0x0. Ini adalah serius kesalahan. Aplikasi ini, atau perpustakaan menggunakan, menggunakan aplikasi yang tidak valid konteks dan dengan demikian memberikan kontribusi untuk keseluruhan degradasi sistem stabilitas dan kehandalan. Pemberitahuan ini adalah courtesy: silakan memperbaiki masalah ini. Itu akan menjadi kesalahan fatal dalam update mendatang. : CGContextDrawPath: tidak valid konteks 0x0. Ini adalah serius kesalahan. Aplikasi ini, atau perpustakaan menggunakan, menggunakan aplikasi yang tidak valid konteks dan dengan demikian memberikan kontribusi untuk keseluruhan degradasi sistem stabilitas dan kehandalan. Pemberitahuan ini adalah courtesy: silakan memperbaiki masalah ini. Itu akan menjadi kesalahan fatal dalam update mendatang. : CGContextRestoreGState: tidak valid konteks 0x0. Ini adalah kesalahan serius. Aplikasi ini, atau perpustakaan menggunakan, menggunakan tidak valid dalam konteks dan dengan demikian memberikan kontribusi untuk keseluruhan degradasi dari sistem stabilitas dan kehandalan. Pemberitahuan ini adalah courtesy: silakan memperbaiki masalah ini. Itu akan menjadi kesalahan fatal dalam update mendatang. : CGContextGetBlendMode: tidak valid konteks 0x0. Ini adalah serius kesalahan. Aplikasi ini, atau perpustakaan menggunakan, menggunakan aplikasi yang tidak valid konteks dan dengan demikian memberikan kontribusi untuk keseluruhan degradasi sistem stabilitas dan kehandalan. Pemberitahuan ini adalah courtesy: silakan memperbaiki masalah ini. Itu akan menjadi kesalahan fatal dalam update mendatang.
Kesalahan-kesalahan dapat terjadi ketika tampilan kustom yang disajikan, atau salah satu yang diwariskan dari kelas. Pada saat mana mereka menelurkan beberapa kali, sampai keyboard tidak't memberikan masukan apapun. Peristiwa sentuh masih terdaftar, tapi sistem melambat, dan akhirnya dapat menyebabkan tidak terisi obyek kesalahan.
EDIT #1: saya tidak memiliki akses ke kerangka yang diimpor, tapi saya tidak melihat sesuatu yang aneh di dalam kelas yang menyebabkan masalah.
EDIT #2: saya baru saja menerima email bahwa iOS 7.1 telah dirilis untuk pengembang. I'm penasaran untuk melihat jika ini hilang, atau menjadi lebih buruk, atau dapat diselesaikan.
Jika anda're penasaran apa kode yang menyebabkan log ini, anda dapat add simbolis breakpoint pada CGPostError
.
Orang lain akan meminta anda untuk memasukkan kode di mana anda mengakses inti grafis konteks, tapi aku ragu bahwa's masalah. Ini tidak valid konteks 0x0 pesan kesalahan yang umum dan mudah untuk mereproduksi di iOS 7. Bahkan, saya dapat mereproduksi kesalahan menggunakan storyboard dengan nol kode. Aku menyeret UITextField ke kanvas di IB, menjalankan aplikasi, dan double tap dalam bidang teks.
Dalam banyak situasi, it's sulit bagi saya untuk mengambil valid konteks 0x0 pesan kesalahan serius. Saya don't tahu jika situasi memerlukan perhatian yang lebih besar (saya setuju dengan Rob Napier bahwa itu's layak menyelidiki, terutama jika anda secara eksplisit menggunakan grafis konteks).
Dalam proyek-proyek saya sendiri, saya'm berharap bahwa banyak dari kesalahan ini ajaib menghilang beberapa hari (tapi hari itu tidak datang dengan 7.0.3).
Update: Setelah menginstal Xcode 5.1 dan menargetkan iOS 7.1, saya tidak dapat mereproduksi kesalahan dengan menekan ganda di dalam teks kosong lapangan.
Macam-macam kesalahan historis hasil memanggil Core Grafis fungsi ketika tidak dalam konteks yang didirikan dalam drawRect
atau antara panggilan seperti UIGraphicsBeginImageContext
dan UIGraphicsEndImageContext
(atau lainnya UIKit fungsi seperti yang begin dan end konteks).
Setelah mengatakan bahwa, meskipun, bilobatum adalah benar bahwa ini urutan tertentu dari kesalahan-kesalahan dapat hasil bahwa iOS 7 bug dia referensi dalam jawaban-nya. Jika tidak melihat kesalahan tersebut di iOS6 target, atau jika setelah scan cepat dari pribadi ini framework anda don't menemukan tersangka Core Graphics panggilan, mungkin saja ini iOS 7 bug. Baik menangkap, bilobatum!
Aku punya masalah ini dengan sederhana UITextField (keyboard tidak muncul dan banyak yang berbeda tidak valid konteks pesan error pada console). Saya hanya menemukan sebuah solusi dengan mencari masalah lain pada JADI: https://stackoverflow.com/questions/18888059/cannot-find-executable-for-cfbundle-certuiframework-axbundle
Hanya lakukan:
klik pada iOS Simulator > mengatur Ulang Isi dan Pengaturan... dan berjalan lagi.
Masalah seharusnya't berada di sana lagi
Dalam kasus saya saya've punya kesalahan dalam kode ini:
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];
setelah beberapa pemikiran dan tes saya mendeteksi masalah - itu adalah panggilan ini:
[path fill];
seperti yang saya mendeteksi - di kode panggilan ini tidak diperlukan, karena pengisian akan dilakukan dengan cara lain - jadi aku hanya menghapusnya.
Jawaban Langsung :
Masalahnya adalah karena anda telah menggunakan Core grafis unsur-unsur seperti CGContext dll di lain daripada - (void)drawRect:(CGRect)rect
metode ini.
Sekarang silakan memindahkan kode anda untuk metode ini. Dan itu akan pengasah memberikan anda peringatan/Kesalahan.
Saya mendapatkan error ini karena saya menggunakan UIColor objek sebagai atribut dalam NSAttributedString kamus yang digunakan dalam CATextLayer objek. Aku berubah kamus untuk mengadakan CGColorRef dan kesalahan pergi.
[wordAttributes setObject:(id)[UIColor whiteColor].CGColor forKey:(NSString*)kCTForegroundColorAttributeName];
Mematikan autolayout dalam yang terkena melihat penyebab kesalahan ini untuk pergi dalam beberapa kasus di mana anda're menempatkan dan memindahkan elemen UI (terutama kebiasaan orang-orang yang ditarik pemrograman) dalam tampilan. Saya menggunakan JVFloatLabeledTextField ketika saya menemukan gejala ini.
Aku punya kesalahan ini dalam drawInContext(..) metode kustom saya CALayer implementasi. UIBezierPath mencoba untuk menggunakan UIGraphicsGetCurrentContext() yang nihil secara default di custom lapisan. The dokumentasi online menjelaskan hal ini dengan sangat jelas -
Jika anda tidak menggunakan UIView objek untuk menggambar, namun, anda harus mendorong konteks yang valid ke stack secara manual menggunakan UIGraphicsPushContext fungsi.
Berikut ini's kode yang akhirnya bekerja dengan komentar saya inline (Swift code, tapi solusinya adalah sama terlepas)
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()
}
Dalam kasus saya, saya memiliki peringatan ini ketika membuat resible gambar dengan topi insets. Masalahnya adalah bahwa saya tidak't meninggalkan setidaknya 1 pixel di "membuka tutup" daerah.
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];
Saya memiliki kasus di mana konteks yang kembali dari UIGraphicsGetCurrentContext()
adalah NOL
, dan jika anda mencoba menggunakannya untuk apa pun pesan ini muncul. Itu adalah pandangan's tanggung jawab untuk mendorong konteks menggunakan UIGraphicsPushContext
sebelum memanggil drawRect:
, jika anda menelepon drawRect:
secara langsung, bukan [lihat setNeedsDisplay]
anda berisiko konteks tidak diatur belum. Firasat saya adalah bahwa sebelum iOS 7 konteks didorong untuk melihat pada init
, dan sekarang di iOS 7 konteks isn't mendorong sampai pertama kali drawRect:
akan disebut. Saya menduga beberapa UIKit kode ini memanggil drawRect:
secara langsung dan ini adalah mengapa ada masalah dengan beberapa kode bahkan ketika tidak ada gambar kustom yang sedang dilakukan.
Solusi (jika melakukan custom gambar):
drawRect:
secara langsung, menggunakan [lihat setNeedsDisplay]
atau jika anda perlu segera menggambar menggunakan [lihat.lapisan menggambar]
drawRect:
dapatkan konteks tapi don't menggunakannya di luar tubuh ini jika pernyataan jika (konteks) {<menggambar di sini>}
Aku punya kesalahan dengan kode
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;
dan setelah dihapus kode
[[UIColor colorWithHexString:@"EFEFEF"] set];
[path fill];
Dunia menjadi diam
Saya menciptakan UIImage dari konteks menggunakan kode di bawah ini:
UIGraphicsBeginImageContext(size); CGContextRef konteks = UIGraphicsGetCurrentContext();CGContextSetFillColorWithColor(context, color.CGColor); CGContextFillRect(context, (CGRect){.size = size}); UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext();
Dengan demikian saya mendapatkan error.
Jadi saya dihapus Berasal konten Data, restart saya XCode. Dan itu bekerja.
Saya memiliki masalah yang sama. Di proyek saya, saya telah mencoba untuk membuat sebuah textField dan menambahkannya ke file pdf. Kode Lama:
- (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]}];
}
Setelah memecahkan masalah ini,kode berubah :
old:[[UIColor blackColor] setFill];
new:CGContextSetFillColorWithColor(context, [[UIColor blackColor] CGColor]);
Saya menemukan solusi di https://stackoverflow.com/questions/10623545/uicolor-setfill-doesnt-work. Dan Terima kasih penolong.
Ini adalah hacky tetapi bekerja untuk saya.
Aku mengatur UIImageView
di UITableViewCell
's init
, memberikan ukuran dan kendala.
Kemudian dalam pandangan saya controller's cellForRowAtIndexPath
saya melakukan ini:
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
Dan yang menghindari kesalahan, maka berikut bahwa dalam fungsi saya set gambar yang sebenarnya untuk UIImageView
. Kode di atas adalah default
Aku punya masalah ini di UITextField ketika saya memegang sentuhan lebih dari satu bidang kosong dengan hanya placeholder teks. Aku digunakan berikut pekerjaan-sekitar untuk menghilangkan kolom yang kosong:
-(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
}