0

我正在從在線服務器下載PDF文件並將其保存到我的應用程序的沙箱,然後在iBooks中查看它。Objective C:在iBooks上打開PDF文件

iBooks查看是我現在正在掙扎。 我試過這段代碼:

UIDocumentInteractionController *docController = [UIDocumentInteractionController interactionControllerWithURL:url]; 

    docController.delegate = self; 

    [docController presentOpenInMenuFromRect:savePDF.frame inView:self.view animated:YES]; 
    [docController dismissMenuAnimated:YES]; 

還是GOR沒有機會,它正在運行,但酥料餅被解僱馬上就被提出了。但是當我刪除[docController dismissMenuAnimated:YES];它給我一個錯誤說'-[UIPopoverController dealloc] reached while popover is still visible.'

可能是什麼問題?

+2

您需要掛在實例變量中的docController引用上,直到完成顯示。 – borrrden 2013-05-14 07:38:27

+0

@borrrden我將如何做到這一點? – 2013-05-14 07:45:23

回答

0

問題在於您的UIDocumentInteractionController在提交後立即發佈,因爲變量docController不再處於範圍之內。

爲了避免這種情況,您應該創建strong屬性或實例變量,並將您的UIDocumentInteractionController存儲在那裏。這樣一來,直到你釋放對象控制它,這應該是足夠長的用戶進行選擇的UIDocumentInteractionController將堅持圍繞...

+0

謝謝!它正在工作! – 2013-05-14 07:54:10

+2

從技術上講,iOS中沒有垃圾回收(ARC是一種編譯器功能,在幕後它將使用引用計數) – borrrden 2013-05-14 07:54:26

+0

@borrrden你說得對,我沒有費心研究這個......感謝修正! – 2013-05-14 07:57:47

0

我試了一次又一次的一切,但終於得到了[UIPopoverController的dealloc]達到同時酥料餅仍然可見錯誤走開,都是由這樣的工作:

轉到你的項目構建階段 - >然後編譯源代碼 - >選擇 您具有的.M問題並雙擊 編譯器標誌並添加-fobjc-arc然後清理並構建您的應用程序。

再次爲大家這不會工作,可能不是正確的答案,但它也可以幫助有同樣的問題我有幾個人。