A Swift URL router for handling Custom URL Schemes and Universal Links with type-safe argument parsing.
Crossroad is a Swift URL router library for Apple platforms (iOS, macOS, tvOS) that simplifies handling Custom URL Schemes and Universal Links. It allows developers to define routes, parse URL arguments with type safety, and manage deep linking logic in a structured way.
iOS, macOS, and tvOS developers building apps that support deep linking via Custom URL Schemes or Universal Links, particularly those needing robust routing with type-safe parameter handling.
Developers choose Crossroad for its type-safe argument parsing, support for multiple link sources, and clean Swift API that reduces boilerplate and errors in URL routing logic.
:oncoming_bus: Route URL schemes easily
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Automatically casts URL arguments and query parameters to Swift types like Int, Bool, or custom enums, reducing runtime errors as shown in the Pokedex example with Int parsing for pokedexID.
Handles Custom URL Schemes, Universal Links, and services like Firebase Dynamic Links simultaneously, allowing grouped routing definitions for different sources.
Supports path arguments (e.g., ':param') and grouping by link sources, enabling complex logic such as restricting routes to specific schemes.
Allows attaching user-defined data like UserInfo to routers for context-aware handling, enhancing modularity in deep linking.
Only natively supports parsing to basic types (Int, Float, Bool, String, URL); custom types require implementing the Parsable protocol, adding boilerplate code.
Exclusively designed for Swift on iOS, macOS, and tvOS, making it unsuitable for cross-platform projects or non-Apple ecosystems.
Routers can fail initialization if route definitions have issues, necessitating error handling that complicates setup for simple apps.