{"id":23749312,"url":"https://github.com/adamfootdev/aboutkit","last_synced_at":"2025-09-04T22:31:46.747Z","repository":{"id":39535095,"uuid":"342705270","full_name":"adamfootdev/AboutKit","owner":"adamfootdev","description":"Add an about screen to your app in just a few lines of code.","archived":false,"fork":false,"pushed_at":"2025-08-10T14:00:36.000Z","size":908,"stargazers_count":131,"open_issues_count":1,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-08-10T16:13:20.546Z","etag":null,"topics":["ios","swiftui","xcode"],"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/adamfootdev.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,"zenodo":null}},"created_at":"2021-02-26T21:25:54.000Z","updated_at":"2025-08-10T14:00:40.000Z","dependencies_parsed_at":"2023-02-14T18:16:22.471Z","dependency_job_id":"807168de-6210-4246-863b-96d4ac5430f7","html_url":"https://github.com/adamfootdev/AboutKit","commit_stats":null,"previous_names":[],"tags_count":58,"template":false,"template_full_name":null,"purl":"pkg:github/adamfootdev/AboutKit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adamfootdev%2FAboutKit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adamfootdev%2FAboutKit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adamfootdev%2FAboutKit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adamfootdev%2FAboutKit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adamfootdev","download_url":"https://codeload.github.com/adamfootdev/AboutKit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adamfootdev%2FAboutKit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273684696,"owners_count":25149717,"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","status":"online","status_checked_at":"2025-09-04T02:00:08.968Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["ios","swiftui","xcode"],"created_at":"2024-12-31T15:16:30.182Z","updated_at":"2025-09-04T22:31:41.721Z","avatar_url":"https://github.com/adamfootdev.png","language":"Swift","readme":"# AboutKit\n\n![Feature Graphic](https://github.com/adamfootdev/AboutKit/blob/main/Assets/feature-graphic.png?raw=true)\n![Platform](https://img.shields.io/badge/platforms-iOS%2FiPadOS%2015.0%2B%20%7C%20macOS%2013.0%2B%20%7C%20tvOS%2015.0%2B%20%7C%20visionOS%201.0%2B%20%7C%20watchOS%208.0%2B-blue)\n\nAboutKit provides developers for Apple platforms with the ability to add an About screen to their apps. This built using SwiftUI so can be displayed natively from a SwiftUI app or using a UIHostingController in a UIKit app.\n\nThis has been localised into multiple languages and the buttons will automatically adapt to your appʼs accent color.\n\nFor users who previously used AboutKit for showing the features list, please use [FeaturesKit](https://github.com/adamfootdev/FeaturesKit).\n\n1. [Requirements](#requirements)\n2. [Integration](#integration)\n3. [Usage](#usage)\n    - [AKConfiguration](#akconfiguration)\n    - [AKMyApp](#akmyapp)\n    - [AKDeveloper](#akdeveloper)\n    - [AKProfile](#akprofile)\n    - [AKOtherApp](#akotherapp)\n    - [AKAcknowledgements](#akacknowledgements)\n    - [AKPersonAcknowledgement](#akpersonacknowledgement)\n    - [AKFrameworkAcknowledgement](#akframeworkacknowledgement)\n    - [AboutAppView](#aboutappview)\n4. [Other Packages](#other-packages)\n    - [FeaturesKit](https://github.com/adamfootdev/FeaturesKit)\n    - [HelpKit](https://github.com/adamfootdev/HelpKit)\n\n## Requirements\n\n- iOS/iPadOS 15.0+\n- macOS 13.0+\n- tvOS 15.0+\n- visionOS 1.0+\n- watchOS 8.0+\n- Xcode 15.0+\n\n## Integration\n\n### Swift Package Manager\n\nAboutKit can be added to your app via Swift Package Manager in Xcode. Add to your project like so:\n\n```swift\ndependencies: [\n    .package(url: \"https://github.com/adamfootdev/AboutKit.git\", from: \"3.0.0\")\n]\n```\n\n## Usage\n\nTo start using the framework, you'll need to import it first:\n\n```swift\nimport AboutKit\n```\n\n### AKConfiguration\n\nThis is a struct containing all of the relevant details required to configure AboutKit. It can be created like so:\n\n```swift\nlet configuration = AKConfiguration(\n    app: app, \n    otherApps: otherApps, \n    showShareApp: .always, \n    showWriteReview: .always\n)\n```\n\n### AKMyApp\n\nThis is a struct containing details about the current app. It can be created like so:\n\n```swift\nlet app = AKMyApp(\n    id: \"123456789\", \n    name: \"Example App\", \n    appIcon: UIImage(named: \"app-icon\"), \n    developer: developer, \n    email: \"exampleapp@example.com\", \n    websiteURL: URL(string: \"https://www.example.com\")!, \n    profiles: [profile], \n    privacyPolicyURL: URL(string: \"https://www.example.com/privacy-policy\")!, \n    termsOfUseURL: URL(string: \"https://www.example.com/terms-of-use\")!, \n    testFlightURL: URL(string: \"https://www.example.com/testflight\")!, \n    acknowledgements: acknowledgements\n)\n```\n\nIf a value for the app icon is not provided, one will attempt to be downloaded from the App Store based on the provided app ID. The app ID can be found in App Store Connect or from the app's URL, e.g. \u003chttps://apps.apple.com/app/id123456789\u003e\n\n### AKDeveloper\n\nThis is a struct containing details about the developer belonging to the current app. It can be created like so:\n\n```swift\nlet developer = AKDeveloper(\n    id: \"987654321\", \n    name: \"App Developer\", \n    profiles: [profile]\n)\n```\n\nThe developer ID can be found by locating the App Store page that contains all of your apps e.g. \u003chttps://apps.apple.com/developer/id987654321\u003e\n\n### AKProfile\n\nThis is a struct containing details about about a social media profile relating to either the developer or the app itself. It supports multiple platforms such as X and Mastodon. It can be created like so:\n\n```swift\nlet profile = AKProfile(\n    username: \"appdeveloper\", \n    platform: .reddit\n)\n```\n\n### AKOtherApp\n\nThis is a struct which contains details to display another app that you own and want to show in a list on the about screen. You can create one as follows:\n\n```swift\nlet otherApp = AKOtherApp(\n    id: \"543216789\",\n    name: \"Other App\",\n    appIcon: UIImage(named: \"app-icon\")\n)\n```\n\nIf a value for the app icon is not provided, one will attempt to be downloaded from the App Store based on the provided app ID. The app ID can be found in App Store Connect or from the app's URL, e.g. \u003chttps://apps.apple.com/app/id123456789\u003e\n\n### AKAcknowledgements\n\nThis is a struct which contains details about frameworks and people youʼd like to acknowledge. You can create one as follows:\n\n```swift\nlet acknowledgements = AKAcknowledgements(\n    people: [person],\n    frameworks: [framework]\n)\n```\n\n### AKPersonAcknowledgement\n\nThis is a struct which contains details about a person youʼd like to acknowledge. You can create one as follows:\n\n```swift\nlet person = AKPersonAcknowledgement(\n    name: \"App Developer\",\n    details: \"Some details about this person!\",\n    profiles: [profile]\n)\n```\n\n### AKFrameworkAcknowledgement\n\nThis is a struct which contains details about a framework youʼd like to acknowledge. You can create one as follows:\n\n```swift\nlet framework = AKFrameworkAcknowledgement(\n    name: \"Framework\",\n    details: \"Some details about this framework!\",\n    links: [.productPage(URL(string: \"https://www.example.com\")!)]\n)\n```\n\n### AboutAppView\n\nCreate an instance of the view using the following:\n\n```swift\nAboutAppView(configuration: configuration)\n```\n\n## Other Packages\n\n### [FeaturesKit](https://github.com/adamfootdev/FeaturesKit)\n\nAdd a features list screen to your app.\n\n### [HelpKit](https://github.com/adamfootdev/HelpKit)\n\nAdd a help screen to your app.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadamfootdev%2Faboutkit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadamfootdev%2Faboutkit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadamfootdev%2Faboutkit/lists"}