5

次のように、UIDocumentInteractionController を使用しているときに、PDF が添付されたメールを送信しています。

PDFファイルを表示することから始めます

-(void)showPDFFile
{    
    NSURL *url = [NSURL fileURLWithPath:_filePath];

    if (url) {
        _documentInteractionController =
            [UIDocumentInteractionController interactionControllerWithURL:url];

        [_documentInteractionController setDelegate: self];
        [_documentInteractionController presentPreviewAnimated:YES];
    }
}


- (UIDocumentInteractionController *)setupControllerWithURL:(NSURL *)fileURL
                                              usingDelegate:(id <UIDocumentInteractionControllerDelegate>)interactionDelegate {

    UIDocumentInteractionController *interactionController =
        [UIDocumentInteractionController interactionControllerWithURL: fileURL];

    [interactionController setDelegate: interactionDelegate];
    return interactionController;
}

PDF ファイルが表示されているときに、ユーザーが [エクスポート] オプションをクリックすると、iOS の [開く] ビューが表示されます。

電子メールをクリックすると、電子メールを送信する準備ができている View Controller が開きます。

To: CC/BCC および Subject フィールドをプログラムで設定するにはどうすればよいですか?

ありがとうございました!

4

2 に答える 2

0

残念ながら、フロリアンの答えはうまくいきませんでした。ファイルをローカルにコピーしてから、URL をローカル ファイルに設定する必要がありました。名前を設定すると、メールのファイル名や件名ではなく、プレビューのタイトルのみが変更されました。

すなわち

NSFileManager* fileManager = [NSFileManager defaultManager];

NSError* err = nil;

NSString* newPath = [appDocumentsFolder stringByAppendingPathComponent:name];
if (![fileManager copyItemAtPath:[[NSURL URLWithString:path] path]  toPath:newPath error:&err]) {
    // handle error
}

NSURL *fileURL = [NSURL fileURLWithPath:newPath];

_controller = [UIDocumentInteractionController interactionControllerWithURL:fileURL];
于 2014-06-27T09:54:18.123 に答える