Swift패키지 · v0.1.0
KLShareLink
명시적 입력이나 공유 텍스트에서HTTP(S) URL을 선택합니다.
KLShareLink는 외부 라이브러리 없이 동기 방식으로 실행되는Swift패키지입니다. 명시적URL, 텍스트의 링크 후보, 서비스별 도메인, 이전 형식의 식별 문자열을 확인하고 규칙을 통과한HTTP(S) URL과 선택적 서비스 이름을 반환합니다.
기능
- 안전한 명시적URL을 가장 먼저 사용
- 본문의HTTP(S) URL을 등장 순서대로 검색
- 설정한 서비스 도메인과 일치하는URL을 우선 선택
- localhost, .local, 루프백, 링크 로컬, RFC 1918주소 제외
포함하지 않는 기능
이 패키지는 링크 선택만 담당합니다. 네트워크 요청, 리디렉션 추적, 추적 파라미터 제거, 방문 기록 저장은 수행하지 않습니다. 실제 요청을 보내기 직전에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분석기입니다. 동기 방식으로 동작하며 네트워크 요청을 보내지 않습니다.
ShareLinkProvider서비스 이름, 대상 도메인, 이전 형식의 식별 패턴을 담는Codable설정값입니다.
ShareLinkResolution선택한URL과 서비스 이름을 서로 독립적으로 보관합니다.
데모 앱
Link Inspector
안전한 명시적URL을 가장 먼저 사용 · 본문의HTTP(S) URL을 등장 순서대로 검색
Policy Playground
설정한 서비스 도메인과 일치하는URL을 우선 선택 · localhost, .local, 루프백, 링크 로컬, RFC 1918주소 제외