{"id":16482816,"url":"https://github.com/shaps80/swiftbackports","last_synced_at":"2025-03-16T18:31:44.719Z","repository":{"id":65896666,"uuid":"601332645","full_name":"shaps80/SwiftBackports","owner":"shaps80","description":"A collection of Swift backports for earlier versions of iOS, macOS, tvOS and watchOS","archived":false,"fork":false,"pushed_at":"2024-04-26T14:22:34.000Z","size":550,"stargazers_count":17,"open_issues_count":3,"forks_count":5,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-16T04:41:12.799Z","etag":null,"topics":["swift"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shaps80.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-02-13T21:03:14.000Z","updated_at":"2025-03-09T14:59:38.000Z","dependencies_parsed_at":"2024-04-26T15:41:17.325Z","dependency_job_id":null,"html_url":"https://github.com/shaps80/SwiftBackports","commit_stats":{"total_commits":8,"total_committers":1,"mean_commits":8.0,"dds":0.0,"last_synced_commit":"ddca6a237c1ba2291d5a3cc47ec8480ce6e9f805"},"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shaps80%2FSwiftBackports","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shaps80%2FSwiftBackports/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shaps80%2FSwiftBackports/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shaps80%2FSwiftBackports/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shaps80","download_url":"https://codeload.github.com/shaps80/SwiftBackports/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243910666,"owners_count":20367546,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["swift"],"created_at":"2024-10-11T13:12:07.083Z","updated_at":"2025-03-16T18:31:41.687Z","avatar_url":"https://github.com/shaps80.png","language":"Swift","funding_links":["https://github.com/sponsors/shaps80"],"categories":[],"sub_categories":[],"readme":"![watchOS](https://img.shields.io/badge/watchOS-DE1F51)\n![macOS](https://img.shields.io/badge/macOS-EE751F)\n![tvOS](https://img.shields.io/badge/tvOS-00B9BB)\n![ios](https://img.shields.io/badge/iOS-0C62C7)\n[![swift](https://img.shields.io/endpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2Fshaps80%2FSwiftUIBackports%2Fbadge%3Ftype%3Dswift-versions)](https://swiftpackageindex.com/shaps80/SwiftBackports)\n\n# Swift Backports\n\nIntroducing a collection of SwiftUI backports to make your iOS development easier.\n\nBackports attempts to bring features back to the earliest possible versions of iOS to enable greater support for modern API.\n\n\u003e Note, **all** backports will be API-matching to Apple's official APIs, any additional features will not be provided.\n\nAll backports are fully documented, in most cases using Apple's own documentation for consistency. Please refer to the header docs or Apple's original documentation for more details.\n\n\u003e Lastly, I hope this repo also serves as a great resource for _how_ you can backport effectively with minimal hacks 👍\n\n## Sponsor\n\nBuilding useful libraries like these, takes time away from my family. I build these tools in my spare time because I feel its important to give back to the community. Please consider [Sponsoring](https://github.com/sponsors/shaps80) me as it helps keep me working on useful libraries like these 😬\n\nYou can also give me a follow and a 'thanks' anytime.\n\n[![Twitter](https://img.shields.io/badge/Twitter-@shaps-4AC71B)](http://twitter.com/shaps)\n\n## Usage\n\nThe library adopts a backport design by [Dave DeLong](https://davedelong.com/blog/2021/10/09/simplifying-backwards-compatibility-in-swift/) that makes use of a single type to improve discoverability and maintainability when the time comes to remove your backport implementations, in favour of official APIs.\n\nBackports for types are discoverable under the `Backport.Foo` namespace. Similarly backported functions are discoverable via `backport.foo`.\n\n\u003e In some cases an entire framework has been backported.\n\n## Backports\n\n- `UniformTypeIdentifiers`\n- `CoreTransferable`\n- `URLSession` async methods\n\nWhere applicable, backports to associated APIs on other types (e.g. URL) will also be included as expected.\n\n## Installation\n\nYou can install manually (by copying the files in the `Sources` directory) or using Swift Package Manager (**preferred**)\n\nTo install using Swift Package Manager, add this to the `dependencies` section of your `Package.swift` file:\n\n`.package(url: \"https://github.com/shaps80/SwiftBackports.git\", .upToNextMinor(from: \"1.0.0\"))`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshaps80%2Fswiftbackports","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshaps80%2Fswiftbackports","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshaps80%2Fswiftbackports/lists"}