【iOS開發】偽造一個SFSafariViewController
iOS 9 中的 SFSafariViewController 可以使我們非常方便的傳入一個 url 來展示一個網頁,呼叫起來是下面這樣:
let safari = SFSafariViewController(URL: url)
self.presentViewController(safari, animated: true, completion: nil)
這裡我嘗試給出一個簡化版(僅僅展示網頁,沒有其他功能)的 SFSafariViewController,來方便地在 iOS 9 以下的系統中呼叫。
import UIKit
import WebKit
// 如果使用者使用 iOS 8,則沒有 SFSafariViewController,用這個 VC 來載入一個網頁
class FakeSafariViewController: UIViewController {
var url:NSURL!
let webview = WKWebView()
// MARK: - Init
convenience init (URL: NSURL) {
self.init()
self.url = URL
}
// MARK: - Main
override func viewDidLoad() {
super.viewDidLoad()
// webview
webview.frame = self.view.frame
webview.loadRequest(NSURLRequest(URL: url))
view.addSubview(webview)
// 螢幕旋轉監聽
NSNotificationCenter.defaultCenter().addObserver(self, selector: "screenRotate:",
name: UIDeviceOrientationDidChangeNotification, object: nil)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
func screenRotate(notification:NSNotification) {
webview.frame = self.view.frame
}
}
呼叫時,表現起來和 SFSafariViewController 是一樣的:
let realSafari = SFSafariViewController(URL: url)
let fakeSafari = FakeSafariViewController(URL: url)
當然,如果如果你要在 iOS 8 以下的環境中使用的話,把 WKWebView 換成 UIWebView 就好了。
【Github】這段程式碼出現在了 SwiftGG 專案
相關文章
- iOS開發-第一個AppiOSAPP
- 在 Linux 終端上偽造一個好萊塢黑客的螢幕Linux黑客
- 在 Linux 的終端上偽造一個好萊塢黑客的螢幕Linux黑客
- iOS上開發的一個安全鍵盤iOS
- 【IP】偽造 && 甄別
- 創造一個小小開放世界:《A Short Hike》開發歷程分享
- 記一次COOKIE的偽造登入Cookie
- 好久不見,我造了一個輪子:微開發
- iOS 11開發教程(三)執行第一個iOS 11程式iOS
- 玩轉iOS開發:iOS中的GCD開發(一)iOSGC
- 郵箱偽造詳解
- 嗅探與偽造原理
- iOS 11開發教程(二)編寫第一個iOS 11應用iOS
- 玩轉iOS開發:iOS中的NSOperation開發(一)iOS
- 使用React Native開發第一個iOS應用React NativeiOS
- iOS 11開發教程(一)iOS
- iOS開發-初始化和便利構造器寫法iOS
- 偽造工作經歷,請止步!!!
- CSRF - 跨站請求偽造
- 10款深度偽造軟體
- [分享]iOS開發-剩餘可輸入多少個字+textView上的label偽裝成placeHolderiOSTextView
- iOS開發UI篇--一個支援圖文混排的ActionSheetiOSUI
- Flutter 和iOS 混合開發(一)FlutteriOS
- iOS 開發中的『庫』(一)iOS
- iOS 基礎開發技巧 (一)iOS
- iOS開發—技巧總結(一)iOS
- iOS偽轉場動畫iOS動畫
- WordPress 3.8.2 cookie偽造漏洞再分析Cookie
- SSRF 服務端請求偽造服務端
- java 偽造http請求ip地址JavaHTTP
- 08 CSRF偽造請求攻擊
- 基礎認證偽造工具phishery
- 跨站請求偽造CSRF攻防
- 理解CSRF(跨站請求偽造)
- [Http] 跨站請求偽造(CSRF)HTTP
- Cordova - 使用Cordova開發iOS應用實戰1(配置、開發第一個應用)iOS
- iOS 11開發教程(七)編寫第一個iOS11程式碼Hello,WorldiOS
- GJLightBlueTooth——一個輕量級的iOS藍芽開發庫iOS藍芽