UIActivityViewController与NSURL音频文件只显示空投

我正在尝试使用UIActivityViewController共享音频文件(.aac)。 这是我写入沙盒文档目录的临时文件。

我在initWithActivityItem:方法中传递一个NSURL

[audioData writeToFile:[urlToAudioFile path] options:NSDataWritingFileProtectionNone error:&error];

UIActivityViewController *activity = [[UIActivityViewController alloc] initWithActivityItems:@[urlToAudioFile] applicationActivities:nil];
    [self.view.window.rootViewController presentViewController:activity animated:YES completion:^{
...
}];

当我按下分享按钮时,需要几秒钟时间,并且只有Airdrop才会弹出活动表。

我怎样才能让其他选项如电子邮件或iMessage显示出来? 是否有回拨方法,以便我可以确定“共享”何时完成,以便我可以再次删除临时文件?

有没有办法让我添加音频文件,而不必先写入磁盘? 难道我不知何故只是传递NSData对象?


如果您试图共享实际文件,那么您需要使用UIDocumentInteractionController ,它旨在用于共享整个文件。 UIActivityViewController适用于文本和图像。

如果您需要向您的文件发送消息而不是仅仅打开另一个应用程序,那么请考虑为UIDocumentInteractionController创建一个自定义的UIActivity ,为邮件UIDocumentInteractionController另一个消息和另一个应用程序。 请参阅mfmailcomposeviewcontrollerMFMessageComposeViewController

请参阅(Apple开发人员):https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIDocumentInteractionController_class/Reference/Reference.html

链接地址: http://www.djcxy.com/p/77595.html

上一篇: UIActivityViewController with NSURL to audio file only shows airdrop

下一篇: Constness of captured reference