iPhone禁用Apple Pay

本篇文章主要介紹如何屏蔽iOS手機(jī)彈出Apple Pay頁面。

業(yè)務(wù)場景

當(dāng)iPhone打開Apple Pay功能,并靠近具備NFC識別的設(shè)備時,iPhone的Apple Pay會被自動喚起,在屏幕上彈出一個Apple Pay頁面。大部分的業(yè)務(wù)場景下并沒有什么不妥,但是今天我們這個業(yè)務(wù)場景下,用戶體驗會非常糟糕。

某一天你去杭州、上海或者其他能夠使用二維碼進(jìn)出站的城市坐地鐵,當(dāng)你把手機(jī)屏幕上的二維碼對準(zhǔn)閘機(jī),準(zhǔn)備邁開腿進(jìn)站的時候,閘機(jī)沒開,平移手機(jī),希望閘機(jī)能盡快讀到二維碼,這樣你就可以進(jìn)站了。然而,這并沒有什么卵用,閘機(jī)毫無反應(yīng)。你拿起手機(jī)一看,我了個叉,一個Apple Pay頁面遮擋在二維碼頁面上面,閘機(jī)根本識別不到二維碼,能進(jìn)站才是見鬼了。

需求已經(jīng)明確,我們就要考慮下怎么實現(xiàn)了。

需求分析

通過分析Apple Pay頁面,以及查看Apple Pay相關(guān)知識,發(fā)現(xiàn)彈出的頁面是一個PKAddPassesViewController,且一個iPhone同時只能彈出一個PKAddPassesViewController,也就是說,當(dāng)iPhone的Apple Pay,即PKAddPassesViewController頁面,被喚起之后,不能再喚起其他任何的PKAddPassesViewController頁面。根據(jù)這個現(xiàn)象,分析出具體的實現(xiàn)思路。

實現(xiàn)思路

  1. 在需要禁用Apple Pay的頁面彈出一個PKAddPassesViewController頁面,然后將hidden屬性設(shè)置為NO
  2. 結(jié)束
  3. 就是這么簡單粗暴

源碼實現(xiàn)

DBInvalidApplePay

已發(fā)布到Cocoapods,可直接:

pod 'DBInvalidApplePay'

代碼示例

// 屏蔽Apple Pay
[DBInvalidApplePay dbInValidApplePay];

// 取消屏蔽Apple Pay
[DBInvalidApplePay dbValidApplePay];
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容