Skip to content

一套较为完整的日常开发代码hook集合防止崩溃逻辑,提供上报接口,欢迎start!

License

Notifications You must be signed in to change notification settings

cocomanbar/MondoKit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dr.mondo

Example

To run the example project, clone the repo, and run pod install from the Example directory first.

Requirements

Installation

Dr.mondo is available through CocoaPods. To install it, simply add the following line to your Podfile:

  pod 'Dr.mondo', :git => '[email protected]:cocomanbar/MondoKit.git'

Author

cocomanbar, [email protected]

License

Dr.mondo is available under the MIT license. See the LICENSE file for more info.

KVOTestCase
NSTimerTestCase
NSCacheTestCase
{
  "NSObject": [
    "addObserver:forKeyPath:options:context:",
    "removeObserver:forKeyPath:",
    "dealloc",
    "forwardingTargetForSelector:",
    "setValue:forUndefinedKey:"
  ],
  
  "NSArray": [
    "arrayWithObjects:count:",
    "objectsAtIndexes:"
  ],
  "__NSArrayI": [
    "objectAtIndex:",
    "objectAtIndexedSubscript:"
  ],
  "__NSSingleObjectArrayI": [
    "objectAtIndex:"
  ],
  "__NSArray0": [
    "objectAtIndex:"
  ],
  
  "__NSArrayM": [
    "insertObject:atIndex:",
    "removeObjectAtIndex:",
    "removeObjectsInRange:",
    "replaceObjectAtIndex:withObject:",
    "replaceObjectsInRange:withObjectsFromArray:"
  ],
  
  "NSConcreteAttributedString": [
    "initWithString:",
    "initWithString:attributes:",
    "initWithAttributedString:",
    "attributedSubstringFromRange:"
  ],
  "NSConcreteMutableAttributedString": [
    "replaceCharactersInRange:withString:",
    "replaceCharactersInRange:withAttributedString:",
    "setAttributes:range:",
    "addAttributes:range:",
    "addAttribute:value:range:",
    "removeAttribute:range:",
    "insertAttributedString:atIndex:",
    "appendAttributedString:",
    "deleteCharactersInRange:",
    "setAttributedString:"
  ],
  
  "NSCache": [
    "setObject:forKey:",
    "setObject:forKey:cost:"
  ],
  
  "NSConcreteData": [
    "subdataWithRange:",
    "rangeOfData:options:range:"
  ],
  "_NSZeroData": [
    "subdataWithRange:",
    "rangeOfData:options:range:"
  ],
  "_NSInlineData": [
    "subdataWithRange:",
    "rangeOfData:options:range:"
  ],
  "__NSCFData": [
    "subdataWithRange:",
    "rangeOfData:options:range:"
  ],
  
  "NSConcreteMutableData": [
    "subdataWithRange:",
    "rangeOfData:options:range:",
    "resetBytesInRange:",
    "replaceBytesInRange:withBytes:",
    "replaceBytesInRange:withBytes:length:"
  ],
  
  "__NSPlaceholderDictionary": [
    "initWithObjects:forKeys:",
    "initWithObjects:forKeys:count:"
  ],
  "__NSDictionaryM": [
    "setObject:forKey:",
    "setObject:forKeyedSubscript:",
    "removeObjectForKey:"
  ],
  
  "NSJSONSerialization": [
    "JSONObjectWithData:options:error:",
    "JSONObjectWithStream:options:error:",
    "dataWithJSONObject:options:error:"
  ],
  
  "__NSOrderedSetM": [
    "objectAtIndex:",
    "insertObject:atIndex:",
    "removeObjectAtIndex:",
    "replaceObjectAtIndex:withObject:",
    "addObject:"
  ],
  "__NSOrderedSetI": [
    "objectAtIndex:"
  ],
  
  "__NSSetM": [
    "addObject:",
    "removeObject:"
  ],
  "NSSet": [
    "setWithObject:"
  ],
  
  "__NSCFString": [
    "appendString:",
    "insertString:atIndex:",
    "deleteCharactersInRange:"
  ],
  
  "NSPlaceholderString": [
    "initWithString:"
  ],
  "__NSCFConstantString": [
    "hasPrefix:",
    "hasSuffix:",
    "substringFromIndex:",
    "substringToIndex:",
    "substringWithRange:",
    "characterAtIndex:",
    "stringByReplacingOccurrencesOfString:withString:options:range:",
    "stringByReplacingCharactersInRange:withString:"
  ],
  "NSTaggedPointerString": [
    "hasPrefix:",
    "hasSuffix:",
    "substringFromIndex:",
    "substringToIndex:",
    "substringWithRange:",
    "characterAtIndex:",
    "stringByReplacingOccurrencesOfString:withString:options:range:",
    "stringByReplacingCharactersInRange:withString:"
  ],
  
  "NSTimer": [
    "scheduledTimerWithTimeInterval:target:selector:userInfo:repeats:",
    "timerWithTimeInterval:target:selector:userInfo:repeats:"
  ],
  "UIView": [
    "setNeedsLayout",
    "layoutIfNeeded",
    "setNeedsDisplay",
    "setNeedsDisplayInRect:",
    "addSubview:"
  ]
}

About

一套较为完整的日常开发代码hook集合防止崩溃逻辑,提供上报接口,欢迎start!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published