A Swift library for iOS that automatically manages the network activity indicator for all network requests.
BigBrother is a Swift library for iOS that automatically manages the network activity indicator by monitoring all network requests. It solves the problem of manually showing and hiding the network activity spinner when apps perform network operations, providing automatic visual feedback to users.
iOS developers building apps with network requests who want automatic network activity indicator management without manual implementation.
Developers choose BigBrother because it provides automatic network activity indicator management with minimal code, inspired by AFNetworking's approach but built natively for Swift and iOS.
Automatically sets the network activity indicator for any performed request.
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 shows and hides the network activity indicator based on all network requests, eliminating manual management as described in the README's core functionality.
Offers straightforward API methods like `BigBrother.addToSharedSession()` for easy setup with shared sessions or custom configurations, as shown in the code examples.
Exposes a public `Manager` class for manually incrementing and decrementing activity counts, providing flexibility for advanced scenarios detailed in the README.
Provides a public `URLProtocol` subclass for custom integration, allowing developers to incorporate it into their own networking setups as mentioned in the advanced usage section.
The README admits that NSURLProtocol doesn't inherit NSURLSession's configured headers and isn't compatible with authentication APIs, making it unsuitable for apps using these features.
Described as 'mostly a proof of concept,' which implies potential bugs, lack of active maintenance, and unsuitability for production environments.
Requires careful management of NSURLSessionConfiguration objects, as sessions copy configurations at initialization and ignore changes afterward, noted in the README reminder.