BrowserKit
是一个 Swift 包,它提供了一种简单而灵活的方式,将 Web 视图集成到你的 iOS、macOS 和 visionOS 应用程序中。它支持 SFSafariViewController
,可在 iOS 上实现无缝的 Web 浏览体验,以及支持 WKWebView
,可在跨平台上处理自定义 Web 内容。
SFSafariViewController
(用于原生浏览体验)和 WKWebView
(用于自定义 Web 内容)之间进行选择。要将 BrowserKit
添加到你的项目中,请使用 Swift Package Manager。
在 Xcode 中打开你的项目。
转到 File > Add Packages
。
在搜索栏中,输入 BrowserKit
仓库的 URL。
https://github.com/markbattistella/BrowserKit
点击 Add Package
。
你可以在 iOS、visionOS 和 Catalyst 平台上使用 SFSafariViewController
加载 URL。
import BrowserKit
struct ContentView: View {
var body: some View {
WebView(url: URL(string: "https://markbattistella.com")!)
}
}
对于自定义 Web 内容处理,你可以在任何平台上使用 WKWebView
。
import BrowserKit
struct ContentView: View {
var body: some View {
WebView(url: URL(string: "https://markbattistella.com")!, webKitConfiguration: { config in
config.preferences.javaScriptEnabled = true
}, webViewConfiguration: { webView in
webView.navigationDelegate = self // Set your custom navigation delegate
})
}
}
你还可以将原始 HTML 内容加载到 WKWebView
中。
import BrowserKit
struct ContentView: View {
var body: some View {
WebView(htmlString: "<html><body><h1>Hello, World!</h1></body></html>")
}
}
你可以使用 safariConfiguration
闭包自定义 Safari 视图控制器的配置。
WebView(url: URL(string: "https://markbattistella.com")!) { sfConfiguration in
sfConfiguration.entersReaderIfAvailable = true
}
你还可以自定义 WKWebViewConfiguration
或 WKWebView
本身。
WebView(
url: URL(string: "https://markbattistella.com")!,
webKitConfiguration: { wkConfig in
wkConfig.allowsInlineMediaPlayback = true
},
webViewConfiguration: { webView in
webView.customUserAgent = "MyCustomUserAgent"
}
)
欢迎贡献!如果你有建议或改进,请 Fork 仓库并提交 Pull Request。
BrowserKit
在 MIT 许可证下发布。有关详细信息,请参阅 LICENSE。