2016-12-30 32 views
0

在Safari的共享擴展中,是否可以拍攝截圖並將其保存到Userdefaults以便我的應用可以訪問它?分享擴展的Safari內容的屏幕截圖

這是從應用程序擴展中捕獲瀏覽器屏幕截圖的推薦方式嗎?

+0

我想這只是一個黑客解決方案。就像在另一個視圖後面隱藏webView一樣,然後使用UIGraphicsEndImageContext。 – andreaspfr

+0

謝謝,編輯了這個問題。我打算在瀏覽器打開的時候從Safari執行此操作,並將其傳遞給我的應用程序。 – NetCod

回答

0

當您的分機打開時,您無權訪問Safari。擴展在他們自己的進程中運行,並且他們的視圖上下文在Safari之外。

一個有趣的解決方法是使用NSExtensionJavaScriptPreprocessingFile與使用類似html2canvas從Javascript中獲得一個截圖JS文件,然後傳遞作爲輸入到您的原生擴展。隨附的JS文件在Safari頁面的上下文中執行。