2012-12-11 60 views
2

在MonoTouch上調用UIGraphics.BeginPDFContext時,我無法提供PDF文檔信息。 我試過使用CGPDFInfo和需要NSDictionary的重載,但是當我提供任何字符串值(例如作者)時,它們都會與SIGSEGV一起崩潰。UIGraphics.BeginPDFContext文檔信息

下面的代碼導致SIGSEGV:

var info = new CGPDFInfo() 
{ 
    AllowsCopying = true, 
    AllowsPrinting = true, 
    Author = "My Name",// Setting any string property crashes 
}; 
UIGraphics.BeginPDFContext(file, RectangleF.Empty, info); 

堆棧跟蹤如下:

在(包裝管理到本機)MonoTouch.ObjCRuntime.Messaging.void_objc_msgSend_IntPtr_IntPtr(IntPtr的, intptr,intptr,intptr) at MonoTouch.Foundation.NSMutableDictionary.LowlevelSetObject(MonoTouch.Foundation.NSObject,intptr)[0x00011] in /Developer/MonoTouch/Source/monotouch/src/shared/Foundation/NSMutableDictionary.cs:394 at MonoTouch.CoreGraphics.CG在MonoTouch.UIKit.UIGraphics.BeginPDFContext中的/Developer/MonoTouch/Source/monotouch/src/shared/CoreGraphics/CGContextPDF.cs:16 中的PDFInfo.ToDictionary()[0x00033](string,System.Drawing.RectangleF,MonoTouch.CoreGraphics .CGPDFInfo)[0x00000]在/Developer/MonoTouch/Source/monotouch/src/UIKit/UIGraphics.cs:99

我問過的Xamarin Forum這個問題爲好,但沒有收到任何答覆。

我想使用BeginPDFContext的重載,它需要一個NSMutableData作爲第一個參數,但這需要NSDictionary文檔信息,我不知道如何爲它提供值不會崩潰。有任何想法嗎?

+0

您的最終目標是什麼?你只是想寫一個現有的PDF?或創建一個新的? – jonathanpeppers

回答