美文网首页
iPhone禁用Apple Pay

iPhone禁用Apple Pay

作者: bug工程狮 | 来源:发表于2019-11-27 10:15 被阅读0次

    本篇文章主要介绍如何屏蔽iOS手机弹出Apple Pay页面。

    业务场景

    当iPhone打开Apple Pay功能,并靠近具备NFC识别的设备时,iPhone的Apple Pay会被自动唤起,在屏幕上弹出一个Apple Pay页面。大部分的业务场景下并没有什么不妥,但是今天我们这个业务场景下,用户体验会非常糟糕。

    某一天你去杭州、上海或者其他能够使用二维码进出站的城市坐地铁,当你把手机屏幕上的二维码对准闸机,准备迈开腿进站的时候,闸机没开,平移手机,希望闸机能尽快读到二维码,这样你就可以进站了。然而,这并没有什么卵用,闸机毫无反应。你拿起手机一看,我了个叉,一个Apple Pay页面遮挡在二维码页面上面,闸机根本识别不到二维码,能进站才是见鬼了。

    需求已经明确,我们就要考虑下怎么实现了。

    需求分析

    通过分析Apple Pay页面,以及查看Apple Pay相关知识,发现弹出的页面是一个PKAddPassesViewController,且一个iPhone同时只能弹出一个PKAddPassesViewController,也就是说,当iPhone的Apple Pay,即PKAddPassesViewController页面,被唤起之后,不能再唤起其他任何的PKAddPassesViewController页面。根据这个现象,分析出具体的实现思路。

    实现思路

    1. 在需要禁用Apple Pay的页面弹出一个PKAddPassesViewController页面,然后将hidden属性设置为NO
    2. 结束
    3. 就是这么简单粗暴

    源码实现

    DBInvalidApplePay

    已发布到Cocoapods,可直接:

    pod 'DBInvalidApplePay'
    

    代码示例

    // 屏蔽Apple Pay
    [DBInvalidApplePay dbInValidApplePay];
    
    // 取消屏蔽Apple Pay
    [DBInvalidApplePay dbValidApplePay];
    

    相关文章

      网友评论

          本文标题:iPhone禁用Apple Pay

          本文链接:https://www.haomeiwen.com/subject/cnouwctx.html