[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-6829":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":16,"stars30d":17,"stars90d":16,"forks30d":16,"starsTrendScore":16,"compositeScore":18,"rankGlobal":10,"rankLanguage":10,"license":19,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":20,"hasPages":22,"topics":23,"createdAt":10,"pushedAt":10,"updatedAt":29,"readmeContent":30,"aiSummary":31,"trendingCount":16,"starSnapshotCount":16,"syncStatus":32,"lastSyncTime":33,"discoverSource":34},6829,"BulletinBoard","alexaubry\u002FBulletinBoard","alexaubry","General-purpose contextual cards for iOS","",null,"Swift",5348,302,70,45,0,3,38.44,"MIT License",false,"develop",true,[24,25,26,27,28],"card","configuration","ios","onboarding","swift","2026-06-12 02:01:30","# BulletinBoard\n\n[![Version](https:\u002F\u002Fimg.shields.io\u002Fcocoapods\u002Fv\u002FBulletinBoard.svg?style=flat)](https:\u002F\u002Fcocoapods.org\u002Fpods\u002FBulletinBoard)\n[![License](https:\u002F\u002Fimg.shields.io\u002Fcocoapods\u002Fl\u002FBulletinBoard.svg?style=flat)](https:\u002F\u002Fcocoapods.org\u002Fpods\u002FBulletinBoard)\n[![Platform](https:\u002F\u002Fimg.shields.io\u002Fcocoapods\u002Fp\u002FBulletinBoard.svg?style=flat)](https:\u002F\u002Fcocoapods.org\u002Fpods\u002FBulletinBoard)\n[![Documentation](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDocumentation-available-blue.svg)](https:\u002F\u002Falexisakers.github.io\u002FBulletinBoard)\n[![Contact: @_alexaubry](https:\u002F\u002Fraw.githubusercontent.com\u002Falexaubry\u002FBulletinBoard\u002Fmain\u002F.assets\u002Ftwitter_badge.svg?sanitize=true)](https:\u002F\u002Ftwitter.com\u002F_alexaubry)\n\nBulletinBoard is an iOS library that generates and manages contextual cards displayed at the bottom of the screen. It is especially well suited for quick user interactions such as onboarding screens or configuration.\n\nIt has an interface similar to the cards displayed by iOS for AirPods, Apple TV\u002FHomePod configuration and NFC tag scanning. It supports both the iPhone, iPhone X and the iPad.\n\nIt has built-in support for accessibility features such as VoiceOver and Switch Control.\n\nHere are some screenshots showing what you can build with BulletinBoard:\n\n![Demo Screenshots](https:\u002F\u002Fraw.githubusercontent.com\u002Falexaubry\u002FBulletinBoard\u002Fmain\u002F.assets\u002Fdemo_screenshots.png)\n\n## Requirements\n\n- Xcode 11 and later\n- iOS 9 and later\n- Swift 5.1 and later (also works with Objective-C).\n\n## Demo\n\nA demo project is included in the `BulletinBoard` workspace. It demonstrates how to:\n\n- integrate the library (setup, data flow)\n- create standard page cards\n- create custom page subclasses to add features\n- create custom cards from scratch\n\nTwo demo targets are available:\n\n- `BB-Swift` (demo written in Swift)\n- `BB-ObjC` (demo written in Objective-C)\n\nBuild and run the scheme for your favorite language to open the demo app.\n\n## Installation\n\n### Swift Package Manager\n\nTo install BulletinBoard using the [Swift Package Manager](https:\u002F\u002Fswift.org\u002Fpackage-manager\u002F), add this dependency to your `Package.swift` file:\n\n~~~swift\n.package(url: \"https:\u002F\u002Fgithub.com\u002Falexaubry\u002FBulletinBoard.git\", from: \"5.0.0\")\n~~~\n\n### CocoaPods\n\nTo install BulletinBoard using [CocoaPods](https:\u002F\u002Fcocoapods.org), add this line to your `Podfile`:\n\n~~~ruby\npod 'BulletinBoard'\n~~~\n\n### Carthage\n\nTo install BulletinBoard using [Carthage](https:\u002F\u002Fgithub.com\u002FCarthage\u002FCarthage), add this line to your `Cartfile`:\n\n~~~\ngithub \"alexaubry\u002FBulletinBoard\"\n~~~\n\n## Documentation\n\n- The full library documentation is available [here](https:\u002F\u002Falexisakers.github.io\u002FBulletinBoard).\n- To learn how to start using `BulletinBoard`, check out our [Getting Started](https:\u002F\u002Falexisakers.github.io\u002FBulletinBoard\u002Fgetting-started.html) guide.\n\n## Contributing\n\nThank you for your interest in the project! Contributions are welcome and appreciated.\n\nMake sure to read these guides before getting started:\n\n- [Code of Conduct](https:\u002F\u002Fgithub.com\u002Falexaubry\u002FBulletinBoard\u002Fblob\u002Fmaster\u002FCODE_OF_CONDUCT.md)\n- [Contribution Guidelines](https:\u002F\u002Fgithub.com\u002Falexaubry\u002FBulletinBoard\u002Fblob\u002Fmaster\u002FCONTRIBUTING.md)\n\n## Author\n\nWritten by Alexis Aubry. You can [find me on Twitter](https:\u002F\u002Ftwitter.com\u002F_alexaubry).\n\n## License\n\nBulletinBoard is available under the MIT license. See the [LICENSE](LICENSE) file for more info.\n","BulletinBoard 是一个用于 iOS 的库，能够生成和管理显示在屏幕底部的上下文卡片，特别适用于用户引导或配置等快速交互场景。该项目使用 Swift 语言编写，支持 iPhone 和 iPad 设备，并且内置了对 VoiceOver 和 Switch Control 等辅助功能的支持。它提供了类似 iOS 系统中 AirPods 或 Apple TV\u002FHomePod 配置时出现的卡片样式，易于集成到现有项目中。无论是创建标准页面卡片还是自定义卡片，BulletinBoard 都能提供灵活的解决方案。对于需要为用户提供简洁、直观信息展示的应用程序来说，BulletinBoard 是一个理想的选择。",2,"2026-06-11 03:09:07","top_language"]