- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
当我使用苹果的UIActivityViewController
分享几张图片到微信时。我发现有时它不起作用。大多数情况下我只选择1~3张图效果很好,但是如果我分享9张图(微信允许的最大数量),肯定会失败,控制台会打印
2016-04-01 16:14:34.258 EverPhoto[5567:1981394] plugin com.tencent.xin.sharetimeline interrupted 2016-04-01 16:14:34.258 EverPhoto[5567:1981394] plugin com.tencent.xin.sharetimeline invalidated
代码如下:
__weak typeof(self) __weakSelf = self;
self.activityViewController = [[UIActivityViewController alloc] initWithActivityItems:self.shareItems applicationActivities:nil];
self.activityViewController.excludedActivityTypes = @[UIActivityTypePostToFacebook,
UIActivityTypePostToTwitter,
UIActivityTypePostToVimeo,
UIActivityTypePostToTencentWeibo,
UIActivityTypePrint,
UIActivityTypeCopyToPasteboard,
UIActivityTypeAssignToContact,
UIActivityTypeSaveToCameraRoll,
UIActivityTypeAddToReadingList,
UIActivityTypePostToFlickr,
];
self.activityViewController.completionWithItemsHandler = ^(NSString * __nullable activityType, BOOL completed, NSArray * __nullable returnedItems, NSError * __nullable activityError){
DLog(@"shareCompleted : %@", completed ? @"YES" : @"NO")
__weakSelf.shareItems = nil;
__weakSelf.activityViewController = nil;
};
[self.containerVc presentViewController:self.activityViewController animated:YES completion:nil];
ShareItems
是实现协议(protocol) UIActivityItemSource
的自定义对象。
附言我试用了APP Google Photo,发现它的分享功能做得很好。它可以使用 UIActivityViewController
将 9 张图像与系统照片断言的原始高清尺寸分享到微信。那么,我该如何解决这个问题呢?
最佳答案
由于App Extension的内存限制,WeChat的Share Extension被终止。
根据 Apple 的 App Extension Programming Guide : 优化效率和性能
Memory limits for running app extensions are significantly lower than the memory limits imposed on a foreground app. On both platforms, the system may aggressively terminate extensions because users want to return to their main goal in the host app. Some extensions may have lower memory limits than others: For example, widgets must be especially efficient because users are likely to have several widgets open at the same time.
1.我制作了9张非常小的图片,并成功分享到微信:
- (UIImage *)imageWithColor:(UIColor *)color
{
CGRect rect = CGRectMake(0, 0, 1, 1);
UIGraphicsBeginImageContext(rect.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, [color CGColor]);
CGContextFillRect(context, rect);
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}
2.分享到微信之前可以先缩小图片,这里有一些Scale methods
关于ios - UIActivityViewController 分享图片到微信不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36351764/
我想让用户能够共享位置但我不知道如何显示 UIActivityViewController在 SwiftUI 中。 最佳答案 UIActivityViewController的基本实现在 SwiftU
当点击取消按钮时,调用哪个委托(delegate)方法?请查看下图。使用 UIActivityViewController 的共享选项 最佳答案 UIActivityViewControllerCom
我希望能够跟踪用户是否通过 facebook、twitter 等共享,但似乎无法知道选择了哪种方法。有没有? 最佳答案 您可以在 setCompletionHandler 中使用事件类型 UIActi
我现在尝试通过 UIActivityViewController 共享 Phasset(视频或图像)。 据我所知,我曾经通过向数组提供 url 并像这样使用来共享位于文档目录中的图像或视频 [[UIA
我实际上正在做一个简单的应用程序,它是 Mememe 类的。我的问题是在使用 UIActivityViewController 时尝试保存、共享等。但为什么它没有发生在这里?我想这是因为传递了一个空图
UIActivityViewController 的标题是如何设置的?我有一个使用自定义 UIActivityItemProvider 和自定义 UIActivity 的 UIActivityView
当我点击我的 barButtomItem 将内容从我的应用程序分享到 FB、Tw、微博和邮件时,我在调试区域收到了这条消息。 iOS6 XCode 4.5.1 2013-03-08 15:59:31.
我正在尝试将屏幕截图附加到我的 UIActivityViewController 中的邮件中,而不将屏幕截图保存到我的库中。到目前为止,这是我的代码: -(IBAction)ActivityContr
在我的表格 View 中,我有几个自定义单元格。一个称为纽扣电池,因为它包含几个按钮。其中之一是我试图调用 UIActivityViewController 的共享按钮。但是,我无法让它工作。我对 U
我是否缺少创建“复制链接”按钮的服务或参数,如 Apple 的 12 天应用程序中所示? 我可以通过允许出现“复制”按钮 UIActivityTypeCopyToPasteboard 在我的 UIAc
我正在从我的 Controller 展示 UIActivityViewController。我遇到了旋转问题。在选择了一些数据共享选项后,比如说“邮件”,邮件撰写 View Controller 就会
我试图使用一个仅包含一个NSData对象的数组,其大小超过5 Mo,且带有initWithActivityItems 当完成处理程序被调用时: [_activityViewController -se
我创建并呈现 UIActivityViewController在我的应用程序中自定义 UIActivity里面的元素。 当我点击 UIActivity图标,UIActivityViewControll
我有一个用 Swift 编写的 iOS 应用程序,并且 UIActivityViewController 中的“取消”按钮缺少文本。该按钮是全白色的。有什么想法吗? func photoEditVie
列出项目 在 iOS 8 中运行的应用程序中使用 Swift,我需要为 UIActivityViewController 编写一个完成处理程序,以捕获用户选择的“共享”方法的结果。 这是我迄今为止的代
我正在开发我的应用程序并想要分享图像。首先我想展示我自己的类“PostCell”(处理我的原型(prototype)单元的类)中的UIActivityViewController。我收到消息“使用未解
我创建了一个自定义 UIActivityViewController 但是当我加载图标时,我所做的让我看到灰色并且你几乎正确加载,有人发生过吗?你是怎么补救的? ActivityViewCustomA
documentation of UIActivityViewController说如下: On iPad, you must present the view controller in a pop
所以我的应用程序中有一个 UIActivityViewController。如何更改背景颜色。我还快速了解如何将 Facebook 和 twitter 添加到我的 UIActivityViewCont
我正在尝试将自定义 UIActivity 添加到 UIActivityController。当我单击该项目时,它会显示我想要的 View Controller ,但是当我完成该 View Contro
我是一名优秀的程序员,十分优秀!