2012-11-15 19 views
12

Uygulamamda oluşturulan bir resmi UIDocumentInteractionController OpenIn Menüsü'nü kullanarak diğer uygulamalara göndermeye çalışıyorum.UIDocumentInteractionController OpenInMenu, iOS uygulaması çöküyor

fileJpeg = [NSTemporaryDirectory() stringByAppendingPathComponent:@"activeImage.jpg"]; 
    jpegFileURL = [NSURL fileURLWithPath:fileJpeg]; 

    UIImage *imageToWrite = image; 

    [UIImageJPEGRepresentation(imageToWrite, 1.0) writeToFile:fileJpeg atomically:YES]; 

Ben MFMailComposeViewController kullanarak e-posta ile resim göndermek için başka bir yöntemde jpegFileURL giriyorum ve mükemmel çalışıyor, bu yüzden NSURL geçerlidir: Bu kod ile diske UIImage biriktiriyorum. Ancak görüntüyü başka bir uygulamaya göndermeye çalıştığımda (Sadece göndererek, herhangi bir önizleme işlevselliği uygulamıyorum) uygulama çöküyor. İşte yöntem şu şekildedir: Open In menüsüne sunulmuştur. Kullanılabilir herhangi bir uygulamanın düğmesine dokunduğumda çöker. IOS6 (6.0.1) ve iOS5 (5.1.1) cihazlarında test yaparken konsolda hata çıkışı olmamasına rağmen (sadece normal EXC_BAD_ACCESS (kod = 1, adres ... kilitlenme), ancak iOS 4.3 cihazında Uygulamanın ben konsolunda bu hatayı alıyorum yukarı uyumlu 4.3): Ben benim sınıf @interface uygulamak olduğunu,

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFType actionSheet:clickedButtonAtIndex:]: unrecognized selector sent to instance 0x16b7f0' 

Ben UIDocumentInteractionController ve UIDocumentInteractionControllerDelegate Apple'ın belgelerine okuyorsun, ancak isteğe bağlı temsilci yöntemlerin hiçbiri görünüyor Bu kazada benim ihtiyaçları için gerekli veya yararlı olabilir.

yanlıştır ya. Herhangi bir yardım mutluluk duyacağız eksik neyi anlamaya olamaz.

cevap

35

Sorun, this answer sayesinde bulundu. Bu bir anıydı. UIDocumentInteractionController'ı yerel örnek değişkeni olarak kullanıyordum ve ARC yakında yayınladı. Onu bir sınıf mülkiyeti haline getirdi ve şimdi her şey çalışıyor.

2

Sen Uygulama tüm modülünden bu değişkene erişimi gerekiyor

@interface sampleView <UIDocumentInteractionControllerDelegate> 
{ 
    UIDocumentInteractionController *controller; 
} 

gibi ... @interface sonra .h dosyasında * kontrolörü UIDocumentInteractionController tanımlamak zorunda, sadece prosedürde denir nerede dan.

İlgili konular