Swift套件 · v0.1.0
KLShareLink
從明確輸入或分享文字中選取HTTP(S) URL。
KLShareLink是同步解析分享內容的Swift套件,不需要第三方函式庫。它依固定順序檢查明確URL、文字中的連結、服務網域與舊格式標記,回傳符合規則的HTTP(S) URL,並在能夠確認時附上服務名稱。
功能
- 安全的明確URL優先
- 依文字出現順序偵測HTTP(S) 候選
- 優先選擇符合已設定服務網域的連結
- 拒絕localhost、.local、回環、鏈路本地與RFC 1918直接寫出的IP位址
不包含的功能
套件只負責選擇連結,不會發出網路請求,也不處理重新導向、追蹤參數或瀏覽記錄。DNS結果與每次重新導向的目標仍須由網路層驗證。
透過SwiftPM安裝
Package.swiftSwift
.package(url: "https://github.com/KoenLee1023/KLShareLink.git", from: "0.1.0")使用方式
整合範例Swift
let resolver = ShareLinkResolver(providers: providers)
let result = resolver.resolve(
explicitURL: itemURL,
sharedText: itemText
)
if let url = result.url {
open(url, source: result.providerName)
}API文件
開啟完整API文件。ShareLinkResolver不含可變狀態,符合Sendable,也不會進行網路I/O。
ShareLinkProvider保存服務名稱、網域與舊格式規則的Codable設定。網域比對支援指定主機及其子網域。
ShareLinkResolution分別保存解析出的URL與服務名稱。
範例App
Link Inspector
安全的明確URL優先 · 依文字出現順序偵測HTTP(S) 候選
Policy Playground
優先選擇符合已設定服務網域的連結 · 拒絕localhost、.local、回環、鏈路本地與RFC 1918直接寫出的IP位址