de-vraag
  • Pertanyaan
  • Tag
  • Pengguna
Notifikasi
Imbalan
Registrasi
Setelah Anda mendaftar, Anda akan diberitahu tentang balasan dan komentar untuk pertanyaan Anda.
Gabung
Jika Anda sudah memiliki akun, masuk untuk memeriksa pemberitahuan baru.
Akan ada hadiah untuk pertanyaan, jawaban, dan komentar tambahan.
Lebih
Sumber
Sunting
 Ælex
Ælex
Question

tidak valid konteks 0x0 di bawah iOS 7.0 dan sistem degradasi

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.

218 2013-10-25T20:53:19+00:00 26
 Ælex
Ælex
Pertanyaan edit 19 November 2013 в 6:13
Pemrograman
objective-c
ios7
core-graphics
Pertanyaan ini memiliki :value jawaban dalam bahasa Inggris, untuk membacanya masuk ke akun Anda.
Art Gillespie
Art Gillespie
26 Oktober 2013 в 9:43
2013-10-26T21:43:51+00:00
Lebih
Sumber
Sunting
#22624464

Jika anda're penasaran apa kode yang menyebabkan log ini, anda dapat add simbolis breakpoint pada CGPostError.

 Benjohn
Benjohn
Jawaban edit 7 April 2015 в 11:23
200
0
Solution / Answer
 bilobatum
bilobatum
25 Oktober 2013 в 9:26
2013-10-25T21:26:16+00:00
Lebih
Sumber
Sunting
#22624462

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.

162
0
 Rob
Rob
25 Oktober 2013 в 9:26
2013-10-25T21:26:38+00:00
Lebih
Sumber
Sunting
#22624463

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!

42
0
 lbsweek
lbsweek
11 Maret 2014 в 7:46
2014-03-11T07:46:21+00:00
Lebih
Sumber
Sunting
#22624473
UIGraphicsBeginImageContext( size );
CGContextRef context = UIGraphicsGetCurrentContext();

pastikan ukuran.lebar atau ukuran.tinggi tidak 0,

anda dapat menambahkan simbol breakpoint untuk CGPostError untuk memeriksa

26
0
Kevin Delord
Kevin Delord
8 Januari 2014 в 4:03
2014-01-08T16:03:45+00:00
Lebih
Sumber
Sunting
#22624467

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

 Community
Community
Jawaban edit 23 Mei 2017 в 10:31
19
0
Denis Kozhukhov
Denis Kozhukhov
3 Desember 2013 в 6:50
2013-12-03T06:50:40+00:00
Lebih
Sumber
Sunting
#22624466

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.

16
0
Pengguna anonim
14 Mei 2015 в 6:49
2015-05-14T06:49:28+00:00
Lebih
Sumber
Sunting
#22624484

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.

5
0
David Roop
David Roop
31 Januari 2014 в 2:32
2014-01-31T02:32:34+00:00
Lebih
Sumber
Sunting
#22624469

Aku punya masalah yang sama dan saya lupa untuk mengimpor QuartzCore/QuartzCore.jam, Ini memecahkan masalah saya dengan kesalahan ini.

    #import <QuartzCore/QuartzCore.h>
5
0
 Collin
Collin
15 April 2014 в 9:51
2014-04-15T21:51:57+00:00
Lebih
Sumber
Sunting
#22624476

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];
4
0
 JuJoDi
JuJoDi
23 Februari 2014 в 2:01
2014-02-23T02:01:09+00:00
Lebih
Sumber
Sunting
#22624472

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.

2
0
 inder
inder
16 Januari 2015 в 6:59
2015-01-16T18:59:43+00:00
Lebih
Sumber
Sunting
#22624482

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()
}
2
0
 balkoth
balkoth
9 Maret 2015 в 3:28
2015-03-09T15:28:40+00:00
Lebih
Sumber
Sunting
#22624483

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];
2
0
 jamone
jamone
14 Januari 2014 в 5:54
2014-01-14T17:54:33+00:00
Lebih
Sumber
Sunting
#22624468

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

  1. Don't call drawRect: secara langsung, menggunakan [lihat setNeedsDisplay] atau jika anda perlu segera menggambar menggunakan [lihat.lapisan menggambar]
  2. Di drawRect: dapatkan konteks tapi don't menggunakannya di luar tubuh ini jika pernyataan jika (konteks) {<menggambar di sini>}
2
0
 Nagarjun
Nagarjun
17 Juli 2014 в 6:46
2014-07-17T06:46:26+00:00
Lebih
Sumber
Sunting
#22624477

Dalam beberapa kasus, anda mungkin perlu untuk memasukkan garis #import <QuartzCore/QuartzCore.h>.

 mrt
mrt
Jawaban edit 17 Juli 2014 в 7:08
2
0
 wossoneri
wossoneri
23 Maret 2016 в 8:27
2016-03-23T08:27:13+00:00
Lebih
Sumber
Sunting
#22624486

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

 silentBeep
silentBeep
Jawaban edit 23 Maret 2016 в 8:53
1
0
 Meet
Meet
3 Februari 2014 в 10:16
2014-02-03T10:16:46+00:00
Lebih
Sumber
Sunting
#22624470

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.

1
0
 Kate
Kate
3 Desember 2014 в 7:41
2014-12-03T07:41:18+00:00
Lebih
Sumber
Sunting
#22624481

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.

 Community
Community
Jawaban edit 23 Mei 2017 в 12:02
1
0
 Chuyang
Chuyang
4 Juli 2016 в 3:42
2016-07-04T03:42:18+00:00
Lebih
Sumber
Sunting
#22624487

Jika kesalahan terjadi ketika anda menggunakan UIBezierPath dan mengatur warna stroke atau mengisi, menempatkan set kode warna di drawRect fungsi daripada tempat-tempat lain.

0
0
Zack Shapiro
Zack Shapiro
5 September 2018 в 3:17
2018-09-05T15:17:33+00:00
Lebih
Sumber
Sunting
#22624488

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

0
0
Peter  B. Kramer
Peter B. Kramer
17 Februari 2014 в 9:03
2014-02-17T09:03:52+00:00
Lebih
Sumber
Sunting
#22624471

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
}
 Connor
Connor
Jawaban edit 3 Juni 2014 в 2:23
0
0
Tambahkan pertanyaan
Kategori
Semua
Teknologi
Budaya / Rekreasi
Kehidupan / Seni
Ilmu Pengetahuan
Profesional
Bisnis
Pengguna
Semua
Baru
Populer
1
UbiBot UK
Terdaftar 15 jam yang lalu
2
Галина Утяшова
Terdaftar 1 hari yang lalu
3
Asilbek Qadamboyev
Terdaftar 4 hari yang lalu
4
Akshit Mehta
Terdaftar 1 minggu yang lalu
5
me you
Terdaftar 1 minggu yang lalu
ID
JA
KO
RO
RU
© de-vraag 2022
Sumber
stackoverflow.com
di bawah lisensi cc by-sa 3.0 dengan atribusi