All Projects → zanyfly → Dr.light

zanyfly / Dr.light

Licence: mit
iOS safety kit to avoid crash in some cases(OC)

Labels

Projects that are alternatives of or similar to Dr.light

Impact
Crash capturing library for Apple platforms
Stars: ✭ 395 (+211.02%)
Mutual labels:  crash
Planb Android
A crash recovery library for Android. It allows tracking and handling crashes with different rules for debugging and production.
Stars: ✭ 29 (-77.17%)
Mutual labels:  crash
Jjexception
Protect the objective-c application(保护App不闪退)
Stars: ✭ 1,216 (+857.48%)
Mutual labels:  crash
Nsobjectsafe
Swizzle commonly used function of Foundation container to prevent nil crash
Stars: ✭ 539 (+324.41%)
Mutual labels:  crash
Esp32 esp8266 attacks
Proof of Concept of ESP32/8266 Wi-Fi vulnerabilties (CVE-2019-12586, CVE-2019-12587, CVE-2019-12588)
Stars: ✭ 686 (+440.16%)
Mutual labels:  crash
Bugsnag Android
Bugsnag crash monitoring and reporting tool for Android apps
Stars: ✭ 990 (+679.53%)
Mutual labels:  crash
Flightairmap
Open source project displaying live aircrafts, ships or trackers on 2D/3D map. Browse through the data based on a particular aircraft, airline, airport, tracker or vessel to search through the database or see extensive statistics. Can use ADS-B in SBS1 format (dump1090, Radarcape,...), VRS, VA (VATSIM, IVAO whazzup.txt, phpvms,...), ACARS (acarsdec, acarsdeco2), APRS, AIS as datasource.
Stars: ✭ 366 (+188.19%)
Mutual labels:  crash
Crashsdk
catch crash on Android(arm/x86)
Stars: ✭ 107 (-15.75%)
Mutual labels:  crash
Bugsnag Laravel
Bugsnag notifier for the Laravel PHP framework. Monitor and report Laravel errors.
Stars: ✭ 746 (+487.4%)
Mutual labels:  crash
Bugsnag Python
Official bugsnag error monitoring and error reporting for django, flask, tornado and other python apps.
Stars: ✭ 69 (-45.67%)
Mutual labels:  crash
Countly Sdk Android
Countly Product Analytics Android SDK
Stars: ✭ 626 (+392.91%)
Mutual labels:  crash
Rxjava2debug
RxJava 2.x extension to provide meaningful Stack Traces
Stars: ✭ 673 (+429.92%)
Mutual labels:  crash
Lldebugtoolswift
LLDebugTool is a debugging tool for developers and testers that can help you analyze and manipulate data in non-xcode situations.
Stars: ✭ 40 (-68.5%)
Mutual labels:  crash
Bugsnag Php
Bugsnag error monitoring and crash reporting tool for PHP apps
Stars: ✭ 475 (+274.02%)
Mutual labels:  crash
Csgo Crash Exploit
Allows you to crash any Windows user
Stars: ✭ 87 (-31.5%)
Mutual labels:  crash
Bugsnag React Native
Error monitoring and reporting tool for native exceptions and JS errors in React Native apps
Stars: ✭ 374 (+194.49%)
Mutual labels:  crash
Crashanalyse
iOS crash log analyse,One click to complete.
Stars: ✭ 34 (-73.23%)
Mutual labels:  crash
Koom
KOOM is an OOM killer on mobile platform by Kwai.
Stars: ✭ 2,247 (+1669.29%)
Mutual labels:  crash
Crashreporter
Lightweight macOS Crash Reporter Setup
Stars: ✭ 100 (-21.26%)
Mutual labels:  crash
Sentry React Native
Official Sentry SDK for react-native
Stars: ✭ 1,032 (+712.6%)
Mutual labels:  crash


Introduction

中文详解 the name of Dr.Light is inspird by Dr.Strange, it is a very simple,light kit to avoid crash in some cases.

range of protection

  • fresh ui in nonmain thread.

  • add/remove KVO unpaired

  • pushing viewcontrollers frequently within a short perid.
    for example,add push code in viewDidLoad,before viewDidAppear has called,it is dangerous.It may caused crash cannot addsubView:self.

    pushing the same viewcontroller into one stack.

  • send unrecognized selector

Installation

CocoaPods

pod 'DrLight'

Manual

import the files you needed into your project.

Useage

ui thread-safety

just include UIView+ViewCrashSafety.h、UIView+ViewCrashSafety.m in your project.

kvo safety

include UIView+ViewCrashSafety.hUIView+ViewCrashSafety.m in your project,then import the header.

#import "NSObject+KVOCrashSafety.h"

start protection for the KVO logic you coded.

school = [[School alloc] init];
school.schoolName = @"First school";
school.kvoSafteyToggle = YES;
    
[school addObserver:self forKeyPath:@"schoolName" options:NSKeyValueObservingOptionNew context:nil];

navigation safety

include UINavigationController+NestedPushCrashSafety.hUINavigationController+NestedPushCrashSafety.m in your project. set the limit of time interval between pushing viewcontroller,defaut is 0.1.

self.navigationController.navStackChangeInterval = 0.1;

unrecognized selector safety

include NSObject+SelectorCrashSafety.hNSObject+SelectorCrashSafety.m in your project.

Note

the safaty toggle closed by default in debug mode in order to discover crash problems in the development phase. If you are eager to turn on the protection in debug mode, please comment out this line of code #define DRLIGHT_TOGGLE_CLOSED.

Contact

I'll add more features in a later release,you can contact me [email protected].

License

DrLight is released under a BSD License. See LICENSE file for details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].