Action Extension中的UIPasteboard.generalPasteboard

时间:2014-09-15 17:52:55

标签: ios ios8 ios-app-extension

我从beta 1开始就一直在进行动作扩展。它是通过bitly.com的URL缩短。缩短URL时,会将其复制到用户的粘贴板

UIPasteboard.generalPasteboard().URL = shortUrl

上次我在测试版5中检查时运行正常。至于GM,我们似乎无法再访问粘贴板了吗?

po UIPasteboard.generalPasteboard().URL

在我知道存在某些内容的场景中返回nil,当我验证shortUrl确实包含值时,将忽略该赋值。调试扩展时,打印UIPasteboard.generalPasteboard().URL始终返回nil。

是否删除了对粘贴板的访问权限?如果是这样,这似乎是一种无声的失败。

我也在Objective-C中复制了这个,所以它不是Swift问题。

更新

我在具有用户界面的扩展程序中尝试了这一点(有两种类型的操作扩展,没有和那些)。对于那些 with UI,粘贴板按预期工作。所以这似乎与没有UI的动作扩展相隔离。

我还报告了一个错误。

更新2

我认为这是一个错误,Apple将我的雷达视为副本。

1 个答案:

答案 0 :(得分:2)

我也遇到了同样的问题。我虽然在Objective-C中使用它。尝试使用最简单的纸板,但仍然没有。

UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
[pasteboard setString:@"copied string"];

上面的代码可以在包含应用程序中正常工作。

<强>更新 对于那些仍在搜索答案并希望将粘贴板与自定义键盘扩展程序一起使用的人,我发现了这篇文章:iOS8 Custom Keyboard - Copy & Paste to UIPasteboard

您需要在plist文件中允许完全访问权限,并允许在Settings.app中的键盘设置中完全访问。