首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从NSSharingService扩展调用FinderSync

从NSSharingService扩展调用FinderSync
EN

Stack Overflow用户
提问于 2021-08-31 12:55:45
回答 1查看 71关注 0票数 0

我试图从我的FinderSync扩展发送一封电子邮件(打开默认的邮件客户端应用程序)。

代码语言:javascript
复制
        let service = NSSharingService(named: NSSharingService.Name.composeEmail)
        if(service != nil)
        {
            service!.recipients = ["test@gmail.com"]
            service!.subject = "Test Mail"
           if service!.canPerform(withItems: ["Test Mail body"])
           {
                service!.perform(withItems: ["Test Mail body"])
           }
           else
           {
                  //fail for me
          }
        }

相同的代码在启动主应用程序时从AppDelegate/ViewController执行,但在从扩展调用时不工作。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-31 13:33:10

FinderSync是不允许使用NSSharingServiceNSExtension

代码语言:javascript
复制
/* @class SHKSharingService (ShareKit.framework) */  

-(char)canPerformWithItems:(NSArray *)items {
    if (([[SHKSharingService class] isShareKitPlugInService] || ([items count] > 0x1388)) {
    return NO;
}

isShareKitPlugInService被定义为

代码语言:javascript
复制
[[NSBundle mainBundle] infoDictionary][@"NSExtension"]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68999076

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档