标签: uiactivityviewcontroller

UIActivityViewController无法将图像添加到imessage

我正在使用UIActivityViewController在ios 6和我的代码上共享图像

        UIImage *shareImage = [UIImage imageNamed:@"myImage.png"];

        // Init array
        NSMutableArray *items = [NSMutableArray new];
        [items addObject:@""];
        [items addObject:shareImage];

        // Add image to paste board
        UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
        pasteboard.persistent = YES;
        pasteboard.image = shareImage;

        UIActivityViewController *activityVC = [[UIActivityViewController alloc]initWithActivityItems:items applicationActivities:nil];

        //This is an array of excluded activities to appear on the UIActivityViewController
        activityVC.excludedActivityTypes = @[UIActivityTypePostToWeibo,
                                             UIActivityTypePrint,
                                             UIActivityTypeCopyToPasteboard,
                                             UIActivityTypeAssignToContact,
                                             UIActivityTypeSaveToCameraRoll];

        [self presentViewController:activityVC animated:TRUE completion:nil];
Run Code Online (Sandbox Code Playgroud)

一切正常但无法将shareImage粘贴到iMessage.我不知道为什么?谢谢您帮忙!

iphone objective-c ios imessage uiactivityviewcontroller

8
推荐指数
1
解决办法
3133
查看次数

iOS 8 - 禁用iCloud照片共享活动

显然iOS8默认情况下会向iOS8中的活动视图添加"iCloud Photo Sharing"活动,但我没有找到任何有用的文档,特别是如何明确删除它(进入"更多"选项允许用户切换显示/隐藏它,但对于我们的应用程序,我们希望完全禁止此选项).

有没有人想过如何禁用它?任何输入将不胜感激.谢谢!

活动VC与不需要的

ios uiactivityviewcontroller ios8

8
推荐指数
2
解决办法
2785
查看次数

iOS 8 UIActivity:禁用特定的第三方共享者?

我正在使用iOS 8中的UIActivityViewController.我已经构建了一个自定义的Pinterest共享机制,它在iOS 7中运行得非常好 - 特别是它将一个图像上传到我的服务器,然后创建一个带有该图像的Pin和一个我的URL指定.这是所需的功能.

现在,在iOS 8的,Pinterest的实施了自己的共享资源,它接受任何一个URL 图像.如果活动项目列表中包含URL,则共享者弹出并询问用户他/她想要从该URL的页面共享哪个图像,并完全忽略同样位于活动项目列表中的图像.如果没有URL,只有图像,则上传的图钉不包含URL.

为了解决这个问题,我需要做以下事情之一:

  1. 禁止Pinterest的共享者出现在列表中,因此我的自定义共享者可以显示出来;
  2. 以某种方式使用Pinterest的共享者在图像的引脚内指定源URL(我怀疑这是可能的);
  3. 从生成的网页中删除所有其他图像.我真的不愿意这样做.

或者,如果一切都失败了,这将是有用的,至少能够检测,如果用户选择了在他们的列表中显示Pinterest的的共享者.

有谁知道有没有办法实现这些东西?

ios pinterest uiactivity uiactivityviewcontroller ios8

8
推荐指数
1
解决办法
756
查看次数

未调用ios 8完成块

在我的应用程序中,我使用TTOpenInAppActivity在UIActivityController中插入"Open in"动作.里面它的工作原理如下:

一些视图控制器呈现UIActivityController,内置TTOpenInActivity.

-(void)openWithAction
{
    NSURL *fileURL = SOME_URL;
    CGRect rect = SOME_RECT;
    TTOpenInAppActivity *openInAppActivity = [[TTOpenInAppActivity alloc] initWithView:self.view andRect:rect];
    UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:@[fileURL] applicationActivities:@[openInAppActivity]];

    if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone){
        // Store reference to superview (UIActionSheet) to allow dismissal
        openInAppActivity.superViewController = activityViewController;
        // Show UIActivityViewController
        [self presentViewController:activityViewController animated:YES completion:NULL];
    } else {
        // code for iPad, irrelevant
    }
}
Run Code Online (Sandbox Code Playgroud)

当用户点击"打开"按钮时,将触发以下方法:

- (void)performActivity
{
    if(!self.superViewController){
        [self activityDidFinish:YES];
        return;
    }

    // Dismiss activity view
    if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone){
        // iPhone dismiss UIActivityViewController
        [self.superViewController …
Run Code Online (Sandbox Code Playgroud)

ios uiactivity uiactivityviewcontroller ios8 completion-block

8
推荐指数
1
解决办法
3647
查看次数

UIActivityViewController在带有sourceView或barButtonItem的iPad上崩溃

我遇到了大多数人在试图UIActivityViewController在iPad上呈现时所面临的情况; 它崩溃了:

Terminating app due to uncaught exception 'NSGenericException', reason: 'UIPopoverPresentationController (<_UIAlertControllerActionSheetRegularPresentationController: 0x7fc4f2d87d00>) should have a non-nil sourceView or barButtonItem set before the presentation occurs.
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

- (void)shareLeaflet
{
    NSString *forwardedString = [[NSString alloc] initWithFormat:@"Check out this leaflet\n\n %@ \n\nself.theURLToShare];
    UIActivityViewController *activityViewController = nil;

    if (IDIOM == IPAD)
    {
        NSLog(@"iPad");
        activityViewController.popoverPresentationController.sourceView = self.view;
//        activityViewController.popoverPresentationController.sourceRect = self.frame;
        [self presentViewController:activityViewController
                           animated:YES
                         completion:nil];

    }
    else
    {
        NSLog(@"iPhone");
        activityViewController = [[UIActivityViewController alloc] initWithActivityItems:[NSArray arrayWithObjects:forwardedString, nil] applicationActivities:nil];
        [self presentViewController:activityViewController animated:YES completion:nil];


    } …
Run Code Online (Sandbox Code Playgroud)

objective-c uiwebview ipad ios uiactivityviewcontroller

8
推荐指数
1
解决办法
1万
查看次数

从 UiActivityViewController 中排除自己的应用程序

我正在尝试从共享选项中删除我自己的应用程序共享扩展。我在网上找不到任何关于此的文档。任何帮助,将不胜感激。

这是我到目前为止:

activityVC.excludedActivityTypes = [UIActivityTypeAirDrop, UIActivityTypeAddToReadingList,"com.Final.Giftr.Giftr-ShareExtension"]
Run Code Online (Sandbox Code Playgroud)

空投和添加到阅读列表按预期工作。

ios uiactivityviewcontroller swift ios8-share-extension

8
推荐指数
1
解决办法
1161
查看次数

#selector的参数不能引用属性

目标是将以下条件更新为Swift 2.2语法,该语法建议使用#selector or explicitly constructing a Selector.

if activityViewController.respondsToSelector("popoverPresentationController") {

}
Run Code Online (Sandbox Code Playgroud)

但是,使用以下作为替换失败并生成错误说 Argument of #selector cannot refer to a property

if activityViewController.respondsToSelector(#selector(popoverPresentationController)) {

}
Run Code Online (Sandbox Code Playgroud)

实施此检查的正确方法是#selector什么?

uiactivityviewcontroller swift

8
推荐指数
1
解决办法
2165
查看次数

UIActivityViewController在iOS-11中复制url

当用户仅从iOS 11中的活动控制器中选择"复制"时,该URL将重复.它在iOS 10上正常运行

使用以下代码

@IBAction func shareButtonPressed() {
    guard let url = URL(string: "http://google.com") else { return }
    let shareText = "Share Text!"
    let items: [Any] = [shareText, url]
    let activityViewController = UIActivityViewController(activityItems: items, applicationActivities: nil)
    present(activityViewController, animated: true, completion: nil)
}
Run Code Online (Sandbox Code Playgroud)

将共享文本提供为:

Share Text! 
http://google.comhttp://google.com
Run Code Online (Sandbox Code Playgroud)

uiactivityviewcontroller swift ios11

8
推荐指数
1
解决办法
809
查看次数

该应用程序不允许使用 UIActivityViewController 访问 iTunes Store 帐户

我正在尝试与我共享我的应用程序URLUIActivityViewController这是我的代码:

let items = [URL(string: "https://itunes.apple.com/de/app/idxxxxxxxxx")!]
let ac = UIActivityViewController(activityItems: items, applicationActivities: nil)
present(ac, animated: true)
Run Code Online (Sandbox Code Playgroud)

应用程序URL在浏览器上运行良好。但在 iPhone 上崩溃。

这是我在控制台中获得的日志:

ACAccountStore:[66A6F31E] 无法保存帐户。帐户 = | error = Error Domain=com.apple.accounts Code=7 “该应用程序无权访问 iTunes Store 帐户” UserInfo={NSLocalizedDescription=该应用程序无权访问 iTunes Store 帐户}

[accounts] ACAccountStore:无法创建本地帐户。error = Error Domain=com.apple.accounts Code=7 “该应用程序无权访问 iTunes Store 帐户” UserInfo={NSLocalizedDescription=该应用程序无权访问 iTunes Store 帐户}

itunes uiactivityviewcontroller swift

8
推荐指数
1
解决办法
177
查看次数

通过本地 url 共享图像时,Instagram 共享扩展返回错误消息

我在通过 iOS 共享表将图像共享到 Instagram 时遇到问题。我需要通过 URL 将图像共享到本地文件,因为我希望图像在共享时以某种方式命名,这是我发现我可以做到的唯一方法。代码是:

//This saves the image into the local temp directory and returns the file url
saveImageForSharing(image: image!) {(tempUrl) in
    if tempUrl != nil {
        let objectsToShare = [tempUrl!]
        let activityVC = UIActivityViewController(activityItems: objectsToShare, applicationActivities: nil)
        self.present(activityVC, animated: true, completion: nil)
    }
}
Run Code Online (Sandbox Code Playgroud)

当 UIActivityViewController 出现时,您可以成功地将图像分享到所有可用的服务(包括 Facebook、电子邮件、Twitter 等),除了 Instagram。分享到Instagram时,弹出以下错误: Instagram 错误

为 UIActivityViewController 的 completionWithItemsHandler 设置完成处理程序,'success' 参数返回为 false,但错误对象为 nil,因此没有关于出错的信息。

直接共享一个 UIImage 是没有问题的。保存到不同的 URL 或更改文件名时也是如此。

任何想法在这里可能发生的事情,或者我如何在设置项目名称的同时成功共享图像?

编辑:我在尝试通过其 url 共享视频时也遇到了这个问题。该视频仅存储在照片库中,我无法让 Instagram 接受它,即使从照片应用程序共享时它共享得非常好!此外,我在输出控制台中收到一条消息,显示“无法为 URL: ssue 沙箱令牌”。有什么建议吗?

谢谢!

uikit instagram uiactivityviewcontroller swift

8
推荐指数
1
解决办法
522
查看次数