2012-03-11 29 views
6

:CALayer renderInContext: bilinmiyor çökmesine neden tüm kod bloğu aşağıdakilerden oluşur

[webview.layer renderInContext:UIGraphicsGetCurrentContext()]; 

uygulama çöker ile:

CGSize layerSize = [webview sizeThatFits:CGSizeZero]; 

    if ([UIScreen instancesRespondToSelector:@selector(scale)] && [[UIScreen mainScreen] scale] == 2.0f) { 
     UIGraphicsBeginImageContextWithOptions(layerSize, NO, 2.0f); 
    } 
    else { 
      UIGraphicsBeginImageContext(layerSize); 
    } 

    [webview.layer renderInContext:UIGraphicsGetCurrentContext()]; 

    screenshot = UIGraphicsGetImageFromCurrentImageContext(); 

    UIGraphicsEndImageContext(); 

ancak test sonra

, bu satır soruna neden biridir konsolda listelenen hiçbir sebep yok ve @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ AppDelegate.h'de Quartzcore'u, bununla bir ilgisi varsa, ithal ettim. Uygulama simülatörde iyi çalışıyor, ancak gerçek bir cihazda çalıştırıldığında çöküyor.

+1

Çöküyor deneyin? Konsol bir şey yazdırıyor mu? EXC_BAD_ACCESS veya SIGABRT veya NSExceptionThrow mu? – CodaFi

+0

, konsol hiçbir şey yazdırmıyor ve Xcode'ta hiçbir şey çıkmıyor. Neler olduğunu tamamen kafam karıştı, bu yüzden yanlış bir şey yapıp yapmadığımı merak ediyordum. – Greg

+0

Aynı problemi aldım – niklassaers

cevap

3

@Greg: Cihazın hafızası kısıtlı olduğu için, cihaz hafızaya alınmışken, simülatör farklı bellek konfigürasyonuyla çalışıyor, ben de aynı şekilde çalışıyorum - bu, uzun web sayfalarında, herhangi bir fikirde nasıl çözülebiliyor?

Maksimum genişlik ve yükseklik [CALayer renderInContext] öğesi, çökmeden önce gerçek aygıtta (iphone retina veya retina dışı) işleyebilir mi?

+0

cevabını paylaşıyorum. Benim de bir sorunum var, ama bu sorun sadece yatay modda geliyor, – Sabareesh

+0

kabul edilen cevap bu mu? –

0

ne ile

[self.view.layer renderInContext:UIGraphicsGetCurrentContext()]; 

UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); 
İlgili konular