当我尝试在导航控制器上呈现ActivityController时,我收到以下警告,
Attempt to present <UIActivityViewController: 0x15be1d60> on <UINavigationController: 0x14608e80> whose view is not in the window hierarchy!
Run Code Online (Sandbox Code Playgroud)
我试图通过以下代码呈现视图控制器,
UIActivityViewController * activityController = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:applicationActivities];
activityController.excludedActivityTypes = excludeActivities;
UIViewController *vc = self.view.window.rootViewController;
[vc presentViewController: activityController animated: YES completion:nil];
[activityController setCompletionHandler:^(NSString *activityType, BOOL completed) {
NSLog(@"completed");
}];
Run Code Online (Sandbox Code Playgroud)
这里出了什么问题?
objective-c ios uiview-hierarchy uiactivityviewcontroller presentviewcontroller
我有一个UIActivityViewController我已经排除(使用excludedActivityTypes)所有UIActivityCategoryAction活动类型的.
在iOS 8.2中,活动类型UIActivityViewController只显示一行UIActivityCategoryShare.
在iOS 8.3中,我得到一个空行UIActivityCategoryAction.请参阅下面的屏幕截图,其中第二行只有"更多".
我如何删除UIActivityCategoryAction在UIActivityViewControlleriOS中8.3〜

我想让用户能够共享位置,但我不知道如何UIActivityViewController在 SwiftUI 中显示。
我有UIActivityViewController4个选项:消息/邮件/ TW/FB.我想为每个选项发送不同的活动!
对于例如:在iMessage表,我需要把:String,NSURL,和UIImage.在Mail中,我需要在主题字段中放置字符串,然后在正文中放置字符串,UIImage以及NSURL.在TW/FB 我想放置图片像社交帖子做了它,也有一些字符串和NSURL.
你知道在iOS8中是否可以使用Swift吗?
我搜索了很多代码,但没有找到最适合我的代码.
我UIActivityViewController在iOS6中使用新类为用户提供各种共享选项.您可以将一系列参数传递给它,例如文本,链接和图像,剩下的就完成了.
如何定义收件人?例如,通过邮件或短信共享应该能够接受收件人,但我无法弄清楚如何调用此行为.
我不想必须单独使用MFMessageComposeViewController,UIActivityViewController因为这只会破坏共享控制器的目的.
有什么建议?
编辑:现在已经提交了Apple,并随后与重复的错误报告合并.
我正在使用UIActivityViewController来显示共享表,以便用户可以共享我的应用程序.我正在测试推文,我得到了一些意想不到的结果.在第一次发推文时,一切顺利.在第二次,我得到一个重复的推文错误消息,这是预期的.问题是completionWithItemsHandler返回成功:Bool为true!
我希望能够向用户显示我自己的个性化消息,而不是当前返回的大量消息.
这是我的代码:
@IBAction func ShareButtonTapped(sender: AnyObject) {
let textToShare = "I'm using Buzz! The new way to send emoji's, with sound, it's annoying, funny and amazing"
var url = NSURL(string: "-Image url masked out-")
var data = NSData(contentsOfURL: url!)
let image = UIImage(data: data!)
if let myWebsite = NSURL(string: "-redirect masked out-")
{
let objectsToShare = [textToShare, myWebsite]
let activityVC = UIActivityViewController(activityItems: objectsToShare, applicationActivities: nil)
activityVC.completionWithItemsHandler = {
(activity, success, items, error) in
println("Activity: \(activity) Success: \(success) Items: \(items) …Run Code Online (Sandbox Code Playgroud) 我希望创建一个UIActivityViewController将排除一些本地共享功能,包括Facebook和Twitter共享.但Facebook的份额仍然可用ShareExtention.
我创建了以下内容:
activityViewController = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:applicationActivities];
Run Code Online (Sandbox Code Playgroud)
并通过设置排除的活动类型排除Facebook.
activityViewController.excludedActivityTypes = @[
UIActivityTypeAddToReadingList,
UIActivityTypeAssignToContact,
UIActivityTypePrint,
UIActivityTypeSaveToCameraRoll,
UIActivityTypeCopyToPasteboard,
UIActivityTypeAirDrop,
UIActivityTypePostToFacebook,
UIActivityTypePostToTwitter
];
Run Code Online (Sandbox Code Playgroud)
在我的iPhone上运行时,尽管排除了Facebook图标,但仍会显示.
调查这是如何发生的我发现活动控制器的完成处理程序正在返回activityType = com.facebook.Facebook.ShareExtension,而不是UIActivityTypePostToFacebook.此外,当在活动控制器中选择更多按钮时,Facebook的切换与使用共享约定的其他应用程序一样.
为什么Facebook使用的shareExtention时间不是Twitter,为什么我不能使用排除的活动将其排除?
注意:我已经在多个设备上对此进行了测试,但该问题仅存在于运行8.1.3的一台设备上.
谢谢
我正在尝试使用UIActivityViewController.发送PDF .到目前为止,使用相当基本的方法一切正常,但我遇到的一个问题是,当我选择send by mail选项时,PDF的文件名Attachment-1不是Calculation.PDF我给文件的名称.
我不太介意标题的变化,但是当将文件发送给使用Windows PC的人时,缺少.pdf扩展确实会导致问题,我想解决这个问题.
我看了一下: 使用UIActivityViewController控制UIImage的文件名
但是看不到一个等效的方法:
[mailComposer addAttachmentData: UIImagePNGRepresentation(viewImage) mimeType:@"" fileName:@"myImage.png"];
Run Code Online (Sandbox Code Playgroud)
这将适用于PDF文件.这是没有自定义无法修复的东西,还是这个问题的简单解决方案?
在SLComposeViewController用于打开Twitter或Facebook共享表的时间内,在日志中看到此错误消息,尽管不一致.我没有使用任何新的iOS 8 API,只是测试iOS 8上的现有代码.我看到其他人遇到了这个问题,甚至在使用Cocoa Touch SDK中的其他模态视图控制器时也发生了崩溃.
LaunchServices:invalidationHandler被调用
是否有新的防护措施,与SLComposeViewController和UIActivityViewControlleriOS中8?还有什么要考虑的吗?
slcomposeviewcontroller uiactivityviewcontroller xcode6 ios8
我正在分享一些内容UIActivityController.
它适用于其他选项.
我能得到subject并且body在默认的邮件应用程序.
但当我用来共享内容时,gmail我Subject的邮件已经消失,我Body在Gmail Subject's部分获取内容:
这是我的代码:
NSString *body = @"I am Body";
NSString *tagLine = @"I am Subject";
NSArray *objectToShare = [NSArray arrayWithObjects:body, nil];
UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:objectToShare applicationActivities:nil];
[activityVC setValue:tagLine forKey:@"subject"];
NSArray *excludeActivities = @[UIActivityTypeAirDrop,
UIActivityTypePrint,
UIActivityTypeAssignToContact,
UIActivityTypeSaveToCameraRoll,
UIActivityTypeAddToReadingList,
UIActivityTypePostToVimeo];
activityVC.excludedActivityTypes = excludeActivities;
[self presentViewController:activityVC animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)
为了更好的图片这里是截图:
使用默认应用:
我也尝试过不同的答案.但它们都不起作用.