Mac OS中的复制链接有伪造的Pasted-Contact.vcf

时间:2016-06-20 12:01:08

标签: macos qt

在Mac中,当我从客户端应用程序创建链接并将其粘贴到Apple客户端邮件时,粘贴的链接是垃圾.vcf联系人而不是文本链接。我的客户端应用程序在QT窗口中显示链接URL。

但是,如果我将复制的链接粘贴到TextEdit等应用程序中,我会得到预期的URL。一种解决方案是将该URL从TextEdit复制/粘贴到Mac Mail中,然后获得可点击链接的预期行为。

我知道为什么会收到如此虚假的联系.vcf?

1 个答案:

答案 0 :(得分:0)

问题出在Mac上,其中包含UTI所在的clipboard.setText()API 没有正确设置。因此,遵循Mac的不同方法。在使用Mac中的Clipboardviewer查看时,发现链接URL存储在10个不同的剪贴板空间中。其中一个(有问题的一个)叫做public.vcard。因此,只要将剪贴板的内容粘贴到另一个应用程序中,就由应用程序决定使用哪个剪贴板空间。 Apple Mail显然选择“public.vcard”或“Apple VCard pasteboard type”。 这是在QT(https://bugreports.qt.io/browse/QTBUG-48953

中报告的Mac错误

参考链接:https://github.com/owncloud/client/issues/3300

我已使用以下代码修复了Mac:

import os 
data = "hello world"
os.system("echo '%s' | pbcopy" % data)