Email iOS 7 UIActivityViewController电子邮件附件
我已经阅读了这里的一堆帖子,许多在线教程/示例代码,我被难住了。在我的应用程序中,我可以显示iOS7本机提供的UIActivityController,其中包含适合我的应用程序的共享选项(空投和邮件) 我遇到的具体问题是,当用户选择“通过邮件共享”选项时,将保存的文档附加到电子邮件中。消息正文设置为文本,但附件为MIA。有关守则如下: //为当前显示的记录生成要共享的XML文件。。。 NSURL*url=[self-createShareFile]Email iOS 7 UIActivityViewController电子邮件附件,email,ios7,attachment,uiactivityviewcontroller,airdrop,Email,Ios7,Attachment,Uiactivityviewcontroller,Airdrop,我已经阅读了这里的一堆帖子,许多在线教程/示例代码,我被难住了。在我的应用程序中,我可以显示iOS7本机提供的UIActivityController,其中包含适合我的应用程序的共享选项(空投和邮件) 我遇到的具体问题是,当用户选择“通过邮件共享”选项时,将保存的文档附加到电子邮件中。消息正文设置为文本,但附件为MIA。有关守则如下: //为当前显示的记录生成要共享的XML文件。。。 NSURL*url=[self-createShareFile] UIActivityViewControlle
UIActivityViewController *controller = [[UIActivityViewController alloc] initWithActivityItems:@[@"Data shared from my app.", url] applicationActivities:nil];
// Filter out the sharing methods we're not interested in....
controller.excludedActivityTypes = @[UIActivityTypePostToTwitter, UIActivityTypePostToFacebook,
UIActivityTypePostToWeibo,
UIActivityTypeMessage,
UIActivityTypePrint, UIActivityTypeCopyToPasteboard,
UIActivityTypeAssignToContact, UIActivityTypeSaveToCameraRoll,
UIActivityTypeAddToReadingList, UIActivityTypePostToFlickr,
UIActivityTypePostToVimeo, UIActivityTypePostToTencentWeibo];
// Now display the sharing view controller.
[self presentViewController:controller animated:YES completion:nil];
我错过了什么?我的文件正在正确创建,内容正确,NSURL对象包含文件的正确路径
谢谢 问题已解决
在我的原始帖子中发布的代码是100%准确的。问题最终出现在我构建在createShareFile方法中返回的NSURL时:
不正确(原始方式):
正确的方法:
return [NSURL fileURLWithPath:docFile];
一旦我解决了这个问题,它就开始工作了,即使是我的自定义文件类型。我遇到了一个类似的问题,邮件应用程序是我唯一无法添加pdf的应用程序。这是我的Swift代码以及处理iPad弹出窗口的代码
var filesToShare = [Any]()
filesToShare.append(self.myUrl)
let activityViewController = UIActivityViewController(activityItems: filesToShare as [Any], applicationActivities: nil)
present(activityViewController, animated: true)
// for iPad -> where to present on screen
if let popOver = activityViewController.popoverPresentationController {
//action button being my top left icon
popOver.barButtonItem = self.actionButton
}
我的问题是如何以不同的方式处理URL你救了我一天!非常感谢你分享这个!
var filesToShare = [Any]()
filesToShare.append(self.myUrl)
let activityViewController = UIActivityViewController(activityItems: filesToShare as [Any], applicationActivities: nil)
present(activityViewController, animated: true)
// for iPad -> where to present on screen
if let popOver = activityViewController.popoverPresentationController {
//action button being my top left icon
popOver.barButtonItem = self.actionButton
}