【问题标题】:How to detect when the user takes a screenshot out of the application?如何检测用户何时从应用程序中截取屏幕截图?
【发布时间】:2019-12-02 10:07:45
【问题描述】:

当用户将screenshot 带出applicationapplication 未处于活动阶段时,如何detect?当用户从应用程序或iphone 的任何位置截屏时,我想触发推送通知。

喜欢这个应用:- https://apps.apple.com/us/app/liketoknow-it/id1154027990

【问题讨论】:

    标签: ios swift iphone xcode swift4


    【解决方案1】:

    截图是一个跳板事件。除非应用程序处于活动状态或处于越狱环境中,否则这是不可能的

    【讨论】:

    • 它正在开发应用商店中的 pinterest 应用,但我不知道如何实现这一点,所以在这里询问。
    【解决方案2】:

    我不确定,当应用程序未运行时需要截图,因为它将是您设备主屏幕的屏幕截图,而不是应用程序。所以这是不可能的。

    这是您的应用运行时的解决方案。

    在这里,UIApplicationUserDidTakeScreenshot 将出现在图片中,screenshotTaken 将在以下情况下调用。是的,您必须在控制器上创建 screenshotTaken 方法。

    NotificationCenter.default.addObserver(self, selector: #selector(screenshotTaken), name: UIApplication.userDidTakeScreenshotNotification, object: nil)
    

    你也可以试试下面的选项

    NotificationCenter.default.addObserver(forName: UIApplication.userDidTakeScreenshotNotification, object: nil, queue: OperationQueue.main) { notification in
        print("Screenshot taken!")
    }
    

    【讨论】:

    • 我的应用程序要求检测到这一点,这发生在应用商店上的 pinterest 应用程序中,这就是我在这里询问的原因。
    • 您是否需要授予 Pinterest 应用程序读取您的照片库的权限?如果是这样,它可能只是寻找新的屏幕截图大小的照片
    • 没有,但是应用程序关闭了,那怎么可能得到所有新的截图?
    • 现在检查我的问题,我把应用程序的链接放在里面
    • 该应用程序要求访问您的照片库,这就是它检测屏幕截图的方式。我不愿意让它访问我的照片,所以我无法完全测试它
    猜你喜欢
    • 2013-11-26
    • 2011-03-18
    • 2011-05-08
    • 1970-01-01
    • 1970-01-01
    • 2021-08-27
    • 1970-01-01
    • 1970-01-01
    • 2011-01-08
    相关资源
    最近更新 更多