A lightweight, one line setup, iOS / OSX network debugging library! đŚ
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 đ
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 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 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"
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.
// AppDelegate
import netfox
NFX.sharedInstance().start() // in didFinishLaunchingWithOptions:
// 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â
Just shake your device and check whatâs going right or wrong!
Shake again and go back to your app!
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
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.
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
Droar: A modular, single-line installation debugging window.
Special thanks to tbaranes and vincedev for their contribution on OSX library!
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.