Netfox alternatives and similar libraries
Based on the "Networking" category.
Alternatively, view Netfox alternatives based on common mentions on social networks and blogs.
-
AFNetworking
A delightful networking framework for iOS, macOS, watchOS, and tvOS. -
CocoaAsyncSocket
Asynchronous socket networking library for Mac and iOS -
RestKit
RestKit is a framework for consuming and modeling RESTful web resources on iOS and OS X -
YTKNetwork
YTKNetwork is a high level request util based on AFNetworking. -
Reachability.swift
Replacement for Apple's Reachability re-written in Swift with closures -
ASIHTTPRequest
Easy to use CFNetwork wrapper for HTTP requests, Objective-C, Mac OS X and iPhone -
swift-protobuf
Plugin and runtime library for using protobuf with Swift -
apollo-ios
📱 A strongly-typed, caching GraphQL client for iOS, written in Swift. -
RealReachability
We need to observe the REAL reachability of network. That's what RealReachability do. -
MonkeyKing
MonkeyKing helps you to post messages to Chinese Social Networks. -
SwiftHTTP
Thin wrapper around NSURLSession in swift. Simplifies HTTP requests. -
APIKit
Type-safe networking abstraction layer that associates request type with response type. -
ResponseDetective
Sherlock Holmes of the networking layer. :male_detective: -
Networking
Easy HTTP Networking in Swift a NSURLSession wrapper with image caching support -
XMNetworking
A lightweight but powerful network library with simplified and expressive syntax based on AFNetworking. -
Pitaya
🏇 A Swift HTTP / HTTPS networking library just incidentally execute on machines -
Reach
A simple class to check for internet connection availability in Swift. -
Digger
Digger is a lightweight download framework that requires only one line of code to complete the file download task -
SOAPEngine
This generic SOAP client allows you to access web services using a your iOS app, Mac OS X app and AppleTV app. -
TWRDownloadManager
A modern download manager based on NSURLSession to deal with asynchronous downloading, management and persistence of multiple files. -
Restofire
Restofire is a protocol oriented networking client for Alamofire -
ws ☁️
⚠️ Deprecated - (in favour of Networking) :cloud: Elegantly connect to a JSON api. (Alamofire + Promises + JSON Parsing) -
EVURLCache
a NSURLCache subclass for handling all web requests that use NSURLRequest -
AFNetworking+RetryPolicy
Nice category that adds the ability to set the retry interval, retry count and progressiveness. -
MultiPeer
📱📲 A wrapper for the MultipeerConnectivity framework for automatic offline data transmission between devices -
AFNetworking-Synchronous
Synchronous requests for AFNetworking 1.x, 2.x, and 3.x
Appwrite - The Open Source Firebase alternative introduces iOS support
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Netfox or a related project?
README
Netfox provides a quick look on all executed network requests performed by your iOS or OSX app. It grabs all requests - of course yours, requests from 3rd party libraries (such as AFNetworking, Alamofire or else), UIWebViews, and more
Very useful and handy for network related issues and bugs
Supports Swift 5 and above - bridged also for Objective-C.
For Swift 4 support, use version 1.19.0.
For Swift 3.2 support, use version 1.12.1.
Feel free to contribute :)
Overview
![]() |
![]() |
---|
Installation
SPM (beta, only iOS)
The Swift Package Manager is a tool for automating the distribution of Swift code and is integrated into the swift
compiler.
To add netfox
as a package dependency to your Xcode project, select File > Add Packages
and enter as repository URL the https://github.com/kasketis/netfox
(always choose the latest release)
For more info, please check here
CocoaPods
CocoaPods is a dependency manager for Cocoa projects. To integrate netfox into your Xcode project using CocoaPods, specify it in your Podfile
:
use_frameworks! pod 'netfox'
To bundle only on some build configurations specify them after pod.
use_frameworks! pod 'netfox', :configurations => ['Debug', 'Test']
Carthage
Carthage is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks. To integrate netfox into your Xcode project using Carthage, specify it in your Cartfile
:
github "kasketis/netfox"
Manually
If you prefer not to use dependency managers, you can integrate netfox into your project manually.
You can do it by copying the "netfox" folder in your project (make sure that "Create groups" option is selected)
The above folder contains 3 subfolders: Core, iOS and OSX.
- If you target on iOS keep only Core and iOS folders (remove OSX folder)
- If you target on OSX keep only Core and OSX folders (remove iOS folder)
Start
Swift
// AppDelegate
import netfox
NFX.sharedInstance().start() // in didFinishLaunchingWithOptions:
Objective-C
// AppDelegate
[NFX.sharedInstance start]; // in didFinishLaunchingWithOptions:
Just simple as that!
Note: Please wrap the above line with
#if DEBUG
. . .
#endif
to prevent library’s execution on your production app.
You can add the DEBUG symbol with the -DDEBUG entry. Set it in the "Swift Compiler - Custom Flags" section -> "Other Swift Flags" line in project’s "Build Settings"
Usage
Just shake your device and check what's going right or wrong!
Shake again and go back to your app!
Stop
Call
NFX.sharedInstance().stop()
to stop netfox and clear all saved data. If you stop netfox its view will not be displayed until you call start method again.
If you want to just enable/disable logging functionality or clear the data please use the buttons provided in the settings view
Custom gestures
By default the library registers for shake motion. If you want to open the logs with a different gesture, add the following line after the installation one
NFX.sharedInstance().setGesture(.custom)
Then you can use
NFX.sharedInstance().show()
when you want to show the logs and
NFX.sharedInstance().hide()
when you want to hide them.
Prevent logging for specific URLs
Use the following method to prevent requests for specified URL from being logged. You can ignore as many URLs as you want
NFX.sharedInstance().ignoreURL("the_url")
Tip: You can use the url of the host (for example "https://www.github.com") to ignore all paths of it
Features
- Search: You can easily search among requests via
- Request url: github.com, .gr, or whatever you want
- Request method: GET, POST, etc
- Response type: Like json, xml, html, image and more
- Sharing: You can share your log via email with backend devs or someone who can help.
- Simple log option includes only request/response headers and small request/response bodies (when applicable)
- Full log option includes request/response headers and request/response bodies (as attachments)
- Filtering: Select what types of responses (JSON/XML/HTML/Image/Other) you want to see
- Enable/disable logging within the app
- Clear data within the app
- Statistics: Check cool things like average response time, total response size and more for your selected types of responses
- Info: Check your IP address, your app version and build number and other things within the app
- More to come.. ;)
Integrations
Droar: A modular, single-line installation debugging window.
Other
- If you experience any problems with request logging please check this. If you don't get your answer please open an issue
- Due to the large size of request/response bodies, the library provides disk storage for low memory overhead
Thanks
Special thanks to tbaranes and vincedev for their contribution on OSX library!
Licence
All source code is licensed under MIT License. Which means you could do virtually anything with the code. I will appreciate it very much if you keep an attribution where appropriate.
*Note that all licence references and agreements mentioned in the Netfox README section above
are relevant to that project's source code only.