A powerful and feature-rich networking SDK for iOS applications with offline support, comprehensive logging, and extensible architecture.
- ✅ HTTP Methods: GET, POST, PUT, PATCH, DELETE with full customization
- ✅ Multi-Environment Support: Easy switching between dev, qa, uat, prod environments
- ✅ Offline Queue: Automatic request queuing when network is unavailable
- ✅ Manual Queue Processing: Process queued requests on-demand
- ✅ Enhanced Logging: Comprehensive API request/response logging with timestamps
- ✅ Network Monitoring: Automatic network state detection
- ✅ Retry Policy: Configurable retry mechanisms
- ✅ Performance Tracking: Built-in performance monitoring
- ✅ File Upload/Download: Complete file transfer capabilities with progress tracking
- ✅ Image Loading: UIImageView extension for easy image loading
- ✅ Plugin System: Extensible architecture with custom plugins
- ✅ Interceptors: Request/response modification capabilities
- ✅ Token Management: Automatic token refresh and secure storage
- ✅ Objective-C Support: Full compatibility with Objective-C projects
- iOS 13.0+
- Xcode 12.0+
- Swift 5.0+
Via Xcode:
- In Xcode, go to File → Add Packages...
- Enter:
https://github.com/channdrahaasan5/BioHaazNetwork_iOS.git - Select version:
1.0.5or later - Click Add Package
Via Package.swift:
dependencies: [
.package(url: "https://github.com/channdrahaasan5/BioHaazNetwork_iOS.git", from: "1.0.5")
]- Download
BioHaazNetwork-v1.0.5.framework.zipfrom the Releases page - Extract the zip file
- Drag and drop
BioHaazNetwork.frameworkinto your Xcode project - Make sure "Copy items if needed" is checked
- Add the framework to your target's "Embedded Binaries" in Build Phases
import BioHaazNetwork
// Initialize SDK
let config = BioHaazNetworkConfig(
environments: [
.dev: "https://dev.api.example.com",
.qa: "https://qa.api.example.com",
.prod: "https://api.example.com"
],
defaultEnvironment: .dev,
loggingEnabled: true
)
BioHaazNetworkManager.shared.initialize(config: config)
// Make a request
BioHaazNetworkManager.shared.request(
endpoint: "/users",
method: .get
) { result in
switch result {
case .success(let response):
print("Success: \(response)")
case .failure(let error):
print("Error: \(error)")
}
}#import <BioHaazNetwork/BioHaazNetwork-Swift.h>
// Initialize SDK
BioHaazNetworkConfig *config = [[BioHaazNetworkConfig alloc]
initWithEnvironments:@{
@(BioHaazEnvironmentDev): @"https://dev.api.example.com",
@(BioHaazEnvironmentProd): @"https://api.example.com"
}
defaultEnvironment:BioHaazEnvironmentDev
loggingEnabled:YES];
[[BioHaazNetworkManager shared] initializeWithConfig:config];
// Make a request
[[BioHaazNetworkManager shared] requestWithEndpoint:@"/users"
method:BioHaazHTTPMethodGet
completion:^(BioHaazNetworkResponse * _Nullable response, NSError * _Nullable error) {
if (response) {
NSLog(@"Success: %@", response);
} else {
NSLog(@"Error: %@", error);
}
}];💡 The SDK can be customized and modified as per your requirements. Open to feature requests and contributions! MailTo: channdrahaasan5@gmail.com
See LICENSE file for details.
For issues, questions, or contributions, please visit: https://github.com/channdrahaasan5/BioHaazNetwork_iOS MailTo: channdrahaasan5@gmail.com
Current version: 1.0.5
See CHANGELOG.md for version history.