UIDocumentInteractionController无法在iPad模拟器中工作(XCode 3.2.3)

时间:2010-09-01 10:16:11

标签: ios ipad ios-simulator uidocumentinteraction

UIDocumentInteractionController似乎在iPad模拟器中无法正常运行(“iPhone模拟器”4.0版,随附XCode 3.2.3,使用iOS版本3.2)。

我有一个简单的示例代码,使用UIDocumentInteractionController来展示PDF预览。它适用于设备。在iPad presentPreview上只返回NO,不调用UIDocumentInteractionController's委托方法。

任何提示如何使其有效?

2 个答案:

答案 0 :(得分:3)

在此确认相同的行为:调用- (BOOL)presentPreviewAnimated:在模拟器上返回NO但在设备上工作。感谢您指出这一点,我花了两个小时一次又一次地检查我的代码。到目前为止没有解决方案。

答案 1 :(得分:0)

我实际上在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];
}

之前我曾经处理过简单的创建文档控制器,就像常规模态视图一样,并在我呈现它之后将其释放。

注意:自动释放非常重要,只需定期发布电话即可崩溃。