makePDFWithCompletionHandler

makePDFWithCompletionHandler

我目前正在基于ResearchKit框架(用Objective-C编写)快速开发医学研究应用程序。我已将签名分配给同意文档,并且正在尝试使用makePDFWithCompletionHandler创建PDF并通过电子邮件发送。这是我目前在视图控制器中用于同意任务的完成处理程序:

func taskViewController(taskViewController: ORKTaskViewController, didFinishWithReason reason: ORKTaskViewControllerFinishReason, error: NSError?) {
    taskViewController.dismissViewControllerAnimated(true, completion: nil)
    if reason == .Completed {
            ConsentDocument.makePDFWithCompletionHandler(/*Completion handler Block*/){
                //Email pdf code here
            }
        }
}

我不知道要把什么作为完成处理程序块。另外,一旦创建了pdf文件,我找不到通过电子邮件发送代码的代码。

在我的同意任务中,我有以下代码将签名分配给文档:
let signatureResult = ORKConsentSignatureResult(identifier: "ConsentDocumentParticipantSignature")
signatureResult.applyToDocument(ConsentDocument)

最佳答案

对于makePDFWithCompletionHandler完成块,这对我有用(请注意,它将其写入到该块中的文件中):

   ConsentDocument .makePDFWithCompletionHandler({ (NSData pdfFile, NSError error) -> Void in
            // println("pdf created")

            // finding document path  //TODO: Remove if not needed

            let documentsPath = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] .stringByAppendingPathComponent("Consent.pdf")

            pdfFile!.writeToFile(documentsPath, atomically: false)

            println(consentDocumentFromDirectory)




        })

10-06 00:54