У меня действительно была эта проблема на версиях iOS выше, чем iOS 4.2, даже несмотря на то, что это была известная ошибка в те времена.
Проблема в том, что UIDocumentInteractionController
будет хорошо работать на устройстве, нов симуляторе это вылетело бы.Я обнаружил, что проблема исчезла, когда я немного по-другому управлял памятью.Разница в том, что autoreleasing
в методе делегата DidEndPreview
.Вот ядро моего кода:
-(void)createPDF
{
UIDocumentInteractionController *dc;
//....other code to generate pdf document
dc = [[UIDocumentInteractionController interactionControllerWithURL:loadURL] retain];
dc.delegate = self;
[dc retain];
[dc presentPreviewAnimated:YES];
}
//Delegate Methods
- (void)documentInteractionControllerDidEndPreview:(UIDocumentInteractionController *)controller
{
[controller autorelease];
}
Ранее я просто создал контроллер документа как обычный модальный вид и выпустил его после того, как представил его.
ПРИМЕЧАНИЕ.авто-релиз важен, вы просто рухнете с обычным вызовом релиза.