a iOS network debug library, monitor HTTP requests

Overview

NetworkEye

Pod Version Pod Platform Pod License Twitter

README 中文

NetworkEye,a iOS network debug library,monitor HTTP requests.

It can be detected HTTP request include web pages, NSURLConnection, NSURLSession, AFNetworking, 3rd libraries, 3rd SDK ,and so on. very convenient and practical.

It can be map local json file.

I created a google group,this group is for general discussion NetworkEye ,welcome to join,https://groups.google.com/d/forum/networkeye

if you use NetworkEye, you can add it in here,Who-Uses-NetworkEye

welcome to new pull request,that fix bug,add new features,add support other platform.and welcome to new issues.

and thanks to kasketis write the swift version netfox

Podfile

	platform :ios, '7.0'
	pod 'NetworkEye', '~> 1.1.2'
	# pod 'NetworkEye/FMDB', '~> 1.1.2'   # NetworkEye with FMDB ,save your requests to database

Instruction

Note:Use Network Eye in DEBUG mode

add the code in AppDelegate.m

#import "NEHTTPEye.h"
#if defined(DEBUG)||defined(_DEBUG)
    [NEHTTPEye setEnabled:YES];
#endif

you can use use the shortcut (⌘ Command + n) , a double tap or shake device to call out the monitoring data interface

NEHTTPEyeViewController

You can also use the following code

#if defined(DEBUG)||defined(_DEBUG)
    NEHTTPEyeViewController *vc=[[NEHTTPEyeViewController alloc] init];
    [self presentViewController:vc animated:YES completion:nil];
#endif

In NEHTTPEye, the default password of database is "networkeye" ,and you can save 300 requests.

the database name is networkeye.sqlite,and stored in the cache directory.

#define kSQLitePassword @"networkeye"

#define kSaveRequestMaxCount 300

you can change it use NEHTTPModelManager

    [NEHTTPModelManager defaultManager].saveRequestMaxCount=300;
    [NEHTTPModelManager defaultManager].sqlitePassword=@"networkeye";

NetworkEye use FMDB and SQLCipher。 FMDB is used to store data,SQLCipher is used to encrypt the database。

Monitoring data interface supports some search conditions ,it is URL,statusCode,HTTPMethod,MIMEType。

Preview

Licenses

MIT License.

Contributors

thanks!

Xi Lin

Zhu Lida

Jackrex

Comments
  • iOS13 使用UISearchDisplayController导致崩溃

    iOS13 使用UISearchDisplayController导致崩溃

    在 iOS 8 之前,我们在 UITableView 上添加搜索框需要使用 UISearchBar + UISearchDisplayController 的组合方式,而在 iOS 8 之后,苹果就已经推出了 UISearchController 来代替这个组合方式。在 iOS 13 中,如果还继续使用 UISearchDisplayController 会直接导致崩溃,崩溃信息如下: 引用:https://www.jianshu.com/p/767e6f2d8435

    opened by iimuy 10
  • startLoading中NSURLConnection的问题。

    startLoading中NSURLConnection的问题。

    采用NSURLSessionDataTask发出去的请求,都会被拦截下来变成NSURLConnection发出去,这样iOS7之后出的这套API就没啥用处了。仅仅只是上层用了新的API来创建了一个request而已,实际是被NSURLConnection接管了。NSURLSession的共享cookies、验证策略、少一次握手等这些功能都没有了。

    个人觉得是一种得不偿失的方法,请问,有没有其他的解法。

    opened by zymxxxs 6
  • Swift + CocoaPods

    Swift + CocoaPods

    Hello, I'm having some problems importing the framework from CocoaPods into a Swift project.

    Podfile: pod 'NetworkEye', '~> 0.9.8'

    Bridging-Header:

    import <NetworkEye/NEHTTPEye.h>

    Error when building in the bridging-header import: "Could not build module 'NetworkEye'

    By going further, it seems this line is failing inside NEHTTPModelManager.h

    import "FMDB.h"

    I guess it's a pod related thing but it would be super awesome if you could fix this problem as I find this tool to have great potential.

    Cheers!

    opened by vCrespoP 6
  • 关于networkeye是否需要数据库的讨论,请问大家觉得拦截到的请求需要存储到数据库吗?

    关于networkeye是否需要数据库的讨论,请问大家觉得拦截到的请求需要存储到数据库吗?

    关于networkeye是否需要数据库的讨论,请问大家觉得拦截到的请求需要存储到数据库吗? 1.networkeye其实是一个小东西,是否需要一个数据库这样一个比较重的东西, 2.因为网络请求有时候插入速度比较快,比如访问UIWebView的时候,有时候就会插入很多请求,这样也会造成一些插入出错 3.插入数据库,我目前只插入JSON和XML,有些情况,比如网页的联调,或者一些文本等就不方便插入数据库了 4.如果不用数据库,不在内存的时候就看不到了;比如很多崩溃就是因为网络请求的错误,崩溃之后就看不到网络请求的信息了

    opened by coderyi 4
  • Crash when http request return illegal result with json content type

    Crash when http request return illegal result with json content type

    In the line https://github.com/coderyi/NetworkEye/blob/master/NetworkEye/NetworkEye/NEHTTPEye.m#L152

    if any error happened, returnValue will be nil and the app will crash.

    opened by xilin 4
  • The monitor for `NSURLSession` is always on

    The monitor for `NSURLSession` is always on

    I found out that NEURLSessionConfiguration is always return NEHTTPEye in the protocolClasses.

    Can we add a configuration to close the monitor in release mode? Thanks.

    opened by xilin 3
  • Crash bug

    Crash bug

    JSON Parsing Error: Error Domain=NSCocoaErrorDomain Code=3840 "JSON text did not start with array or object and option to allow fragments not set." UserInfo={NSDebugDescription=JSON text did not start with array or object and option to allow fragments not set.}

    image

    returnValue 为nil 会导致crash

    异常情况求处理

    opened by jackrex 2
  • 不能获取到NSURLSession请求的httpbody

    不能获取到NSURLSession请求的httpbody

    将demo中的UIWebView去掉,只发送testRequest方法中的 "https://raw.githubusercontent.com/CocoaPods/Specs/master/Specs/AFNetworking/2.5.4/AFNetworking.podspec.json" 这个请求,发现获取不到httpbody,httpbody为空。

    opened by ChengwenY 1
  • 在加载微信的一些web页面时经常回阻塞

    在加载微信的一些web页面时经常回阻塞

    Requested sleep of 54 milliseconds, but SQLite returned 1000. Maybe SQLite wasn't built with HAVE_USLEEP=1? 基本上可以定位到这个地方 static int FMDBDatabaseBusyHandler(void *f, int count)

    opened by qmkCamel 1
  • no need to override the UIWindow methods if you're in release mode

    no need to override the UIWindow methods if you're in release mode

    very minor change. moving the prerocessor macro to encapsulate the method overrides. it might prevent a collision with other shake gesture recognizer in release mode.

    opened by kareem-hewady 1
  • Networkeye discussion about the need for a database, what you think needs to be stored intercepted requests to databases?

    Networkeye discussion about the need for a database, what you think needs to be stored intercepted requests to databases?

    Networkeye discussion about the need for a database, what you think needs to be stored intercepted requests to databases? 1.networkeye actually a little thing, whether you need a database such a heavy thing,

    1. The network request because sometimes insert fast, such as when you use UIWebView , sometimes it will insert a lot of requests, it will also cause some inserted errors
    2. Insert the database, I am currently only insert JSON and XML, in some cases, such as webpage, or some text into the database and so will not convenient
    3. If you do not have a database, when it not in memory and you will not see; for example, many crashes because of erroneous network requests, after a crash ,you can not see the information of requested the network
    opened by coderyi 1
  • 'UISearchDisplayController is no longer supported

    'UISearchDisplayController is no longer supported

    *** Terminating app due to uncaught exception 'NSGenericException', reason: 'UISearchDisplayController is no longer supported when linking against this version of iOS. Please migrate your application to UISearchController.'

    opened by ZWXAllen 3
Releases(1.0.9)
Owner
coderyi
If by life you were deceived,don't be dismal,don't be wild!
coderyi
Network debugging made easy,This network debugging tool is developed based on the swift version of Wormholy.

Start debugging iOS network calls like a wizard, without extra code! Wormholy makes debugging quick and reliable. What you can do: No code to write an

null 21 Dec 14, 2022
In-app console and debug tools for iOS developers

LocalConsole Welcome to LocalConsole! This Swift Package makes on-device debugging easy with a convenient PiP-style console that can display items in

Duraid Abdul 650 Jan 1, 2023
Customizable Console UI overlay with debug log on top of your iOS App

AEConsole Customizable Console UI overlay with debug log on top of your iOS App AEConsole is built on top of AELog, so you should probably see that fi

Marko Tadić 142 Dec 21, 2022
TouchInspector - a lightweight package that helps you visualize and debug touches on iOS and iPadOS

TouchInspector is a lightweight package that helps you visualize and debug touches on iOS and iPadOS.

Janum Trivedi 116 Jan 3, 2023
SwiftUI iOS Debug & HotReloading in VSCode

SwiftUI iOS Debug & HotReloading in VSCode Demonstrating vscode development environment using xcodegen + HotReloading. Language Server Protocol for Sw

Mark Turner 119 Dec 27, 2022
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

Christos Kasketis 3.4k Dec 28, 2022
A little and powerful iOS framework for intercepting HTTP/HTTPS Traffic.

A little and powerful iOS framework for intercepting HTTP/HTTPS Traffic from your app. No more messing around with proxy, certificate config. Features

Proxyman 874 Jan 6, 2023
Remote network and data debugging for your native iOS app using Chrome Developer Tools

PonyDebugger PonyDebugger is a remote debugging toolset. It is a client library and gateway server combination that uses Chrome Developer Tools on you

Square 5.9k Dec 24, 2022
iOS network debugging, like a wizard 🧙‍♂️

Start debugging iOS network calls like a wizard, without extra code! Wormholy makes debugging quick and reliable. What you can do: No code to write an

Paolo Musolino 2.1k Jan 8, 2023
Profiling / Debugging assist tools for iOS. (Memory Leak, OOM, ANR, Hard Stalling, Network, OpenGL, Time Profile ...)

MTHawkeye Readme 中文版本 MTHawkeye is profiling, debugging tools for iOS used in Meitu. It's designed to help iOS developers improve development producti

meitu 1.4k Dec 29, 2022
A swift network profiler built on top of URLSession.

By Xmartlabs SRL. Introduction Xniffer is a non-intrusive framework for intercepting outgoing requests and their responses between your app and any ex

xmartlabs 498 Dec 24, 2022
Automaticly display Log,Crash,Network,ANR,Leak,CPU,RAM,FPS,NetFlow,Folder and etc with one line of code based on Swift. Just like God opened his eyes

GodEye Automaticly display Log,Crash,Network,ANR,Leak,CPU,RAM,FPS,NetFlow,Folder and etc with one line of code based on Swift. Just like God opened hi

陈奕龙(子循) 3.7k Dec 23, 2022
📘A library for isolated developing UI components and automatically taking snapshots of them.

A library for isolated developing UI components and automatically taking snapshots of them. Playbook Playbook is a library that provides a sandbox for

Playbook 970 Jan 3, 2023
Set of easy to use debugging tools for iOS developers & QA engineers.

DBDebugToolkit DBDebugToolkit is a debugging library written in Objective-C. It is meant to provide as many easily accessible tools as possible while

Dariusz Bukowski 1.2k Dec 30, 2022
An in-app debugging and exploration tool for iOS

FLEX FLEX (Flipboard Explorer) is a set of in-app debugging and exploration tools for iOS development. When presented, FLEX shows a toolbar that lives

FLEXTool 13.3k Dec 31, 2022
Chisel is a collection of LLDB commands to assist debugging iOS apps.

Chisel Chisel is a collection of LLDB commands to assist in the debugging of iOS apps. [Installation • Commands • Custom Commands • Development Workfl

Facebook 8.9k Jan 6, 2023
Next generation debugging framework for iOS

Alpha is the idea of a next generation debugging framework for iOS applications. It combines multiple debugging tools built on top of a simple, unifie

Dal Rupnik 733 Oct 29, 2022
Dotzu In-App iOS Debugging Tool With Enhanced Logging, Networking Info, Crash reporting And More.

Dotzu In-App iOS Debugging Tool With Enhanced Logging, Networking Info, Crash reporting And More. The debugger tool for iOS developer. Display logs, n

Remi ROBERT 1.8k Jan 3, 2023
blued enhanced tweak for iOS

BLUEDHOOK 本项目支持 Blued、Blued 极速版。 非越狱机型请通过 Monkeydev 环境打包 ipa 或 dylib/deb 进行重签名,越狱机型直接安装 release deb 即可。 已知问题 重签后不支持 apns 推送 同时安装 Blued、Blued 极速版 并登录同一

null 22 Oct 22, 2022