2016-11-15 74 views
4

我的應用程序使用Adyen託管支付頁面(HPP) - 基於Web的在線支付流程 - SFSafariViewController(由Adyen推薦)。當一個付款流程完全發生在Safari內部時,這個工作非常好。SFSafariViewController在返回應用程序時丟失狀態

但是一些銀行使用他們原生的iOS應用程序來授權網絡支付(通常在將用戶ID輸入網絡流後輸入PIN碼)。當返回到我的應用程序時,Safari視圖控制器經常重新加載其內容,在付款完成之前重置整個付款流程。 (同樣的事情也經常發生,通過簡單地訪問任何其他應用程序 - 猜測它與內存消耗有關嗎?)

有什麼辦法強制Safari視圖控制器保持其當前狀態,不管是什麼?

回答

1

我在我的應用程序中發現相同的行爲。在我們的例子中,我們沒有使用Adyen。但行爲是一樣的。

每次應用程序在一段時間後返回前臺,它都會丟失其狀態並重新加載到原始狀態。

我沒有找到任何方法來避免這種行爲。有沒有辦法強制SFSafariViewController保持其狀態?

更新:我發現此行爲僅發生在iOS 10.0.1中

+0

哇。有趣的是,我剛纔看到了這一點(當我爲同一個問題搜索時 - 假設它在上次解決它時遇到了一些麻煩,並且再次找到該線程)仍然存在。事實上,SFSafariViewController現在看起來不那麼健忘! – villapossu

2

儘管我的答案與SFSafariViewController無關,但我建議您查看Adyen提供的新的Directory Lookup SDK:https://github.com/Adyen/adyen-dl-ios假設使用HPP代替HPP(在合適時),並提供更好的用戶體驗接受本地支付方式。