收藏
回答

iOS SDK在iOS14上面获取用户粘贴板数据?

你好,我们的APP集成了微信的OpenSDK来完成用户的微信登录和分享内容到微信的功能。

苹果将要发布的系统iOS14 beta增加了对粘贴板的通知功能,如果有APP访问了粘贴板,用户会收到系统的通知。

最近有用户投诉在iOS14的系统中,我们的APP也存在访问系统粘贴板的情况,我们排查了一下,怀疑可能是使用的一些第三方SDK会访问用户的粘贴板,所以我们想问一下,微信的OpenSDK for iOS会不会访问用户的粘贴板?如果会,原因是什么?访问的频率是多大?

盼望回复,谢谢!


回答关注问题邀请回答
收藏

3 个回答

  • 微信技术专员-Abe
    微信技术专员-Abe
    2020-07-28

    iOS OpenSDK会读取用户剪切板,读取时机是第三方应用调用分享到微信或拉起微信授权登录的时候。

    原因:

    目前iOS应用间传递数据没有特别好的方式,微信SDK是用剪切板传递数据的,咨询了苹果,对于微信这种平台型的应用,暂时没有其他方式,只能用剪切板传递数据。

    在第三方应用,OpenSDK获取应用原有剪切板内容(仅用于后续数据恢复),并和要分享的内容一起写入剪切板。在微信侧读出剪切板内容(分享数据和原有用户剪切板数据),使用分享数据完成分享,然后把用户原有数据写回剪切板。

    OpenSDK里仅在调用相关接口且需要拉起微信的情况下,才会读取用户剪切板数据用于后续数据恢复。近期我们会想办法优化这里,在OpenSDK里只写入,不读取,让接入OpenSDK的App拉起微信的时候不出提示。

    2020-07-28
    有用 3
    回复 3
    • WXY
      WXY
      2020-08-14
      你好,这个问题目前已经修复了是吗?想确认一下。我看到1.8.5的版本显示取消了对剪切板的访问。
      2020-08-14
      回复
    • 硕
      2020-08-26
      “在OpenSDK里只写入,不读取” 
      这样能避免弹窗吗?在微信APP里面还是要cross-app读取粘贴板的吧?
      2020-08-26
      回复
    • WXY
      WXY
      2020-08-28
      你好, iOS OpenSDK会读取用户剪切板的问题会在什么时候修复并发布?谢谢!
      2020-08-28
      回复
  • Ann
    Ann
    2020-08-28

     查到有这样的兼容方案:如果应用访问剪切板仅仅用于判断是否为URL格式,则 iOS14 新增了两个 API 可以用于规避该提示。如果应用想直接访问剪切板的数据,暂时可能无法做到规避该提示。iOS14 新增两种UIPasteboardDetectionPattern。

    上面的两个 API 可用于规避提示,但只能用于判断剪切板中是否有 URL,并不是真正的访问剪贴板数据,也拿不到剪切板的真实数据。

    作者:没八阿哥的程序

    链接:https://www.jianshu.com/p/1803bd950b90

    来源:简书

    2020-08-28
    有用
    回复
  • 硕
    2020-08-26

    你好,我们用的是1.8.6.1版本的微信SDK。这个SDK会读写系统粘贴板 UIPasteboard, 在iOS 14的设备上面测试就会弹窗。他们不让。


    请问下个版本的SDK什么时候发?谢谢

    2020-08-26
    有用
    回复
登录 后发表内容
问题标签