Tool for avoiding using the URL(string:) initializer with optional result, instead introducing a compile time URL validity check. Note, this does not check for website availability, but if the URL is formatted correctly.
Installation
Swift Package Manager
The Swift Package Manager is a tool for automating the distribution of Swift code and is integrated into the swift compiler.
Once you have your Swift package set up, adding SafeURL as a dependency is as easy as adding it to the dependencies value of your Package.swift.
// This will compile
let validUrl = URL(safeString: "https://example.tld")
// This won't
let invalidUrl = URL(safeString: "https://example./tld")
SafeURL requires its parameter to be a single simple string literal
If a file contains the comment // safeurl:warn, invalid URLs in this file will be compiled and will show a warning instead of an error. Note that this is not recommended, as this will still cause a force-stop on runtime.
SafeURL
Tool for avoiding using the
URL(string:)
initializer with optional result, instead introducing a compile time URL validity check. Note, this does not check for website availability, but if the URL is formatted correctly.Installation
Swift Package Manager
The Swift Package Manager is a tool for automating the distribution of Swift code and is integrated into the
swift
compiler.Once you have your Swift package set up, adding SafeURL as a dependency is as easy as adding it to the
dependencies
value of yourPackage.swift
.Example
SafeURL requires its parameter to be a single simple string literal
If a file contains the comment
// safeurl:warn
, invalidURL
s in this file will be compiled and will show a warning instead of an error. Note that this is not recommended, as this will still cause a force-stop on runtime.