GitHub - CocoaDebug/CocoaDebug: iOS Debugging Tool
source link: https://github.com/CocoaDebug/CocoaDebug
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
README.md
CocoaDebug
中文介绍
iOS Debugging Tool
Introduction
-
Shake to hide/show the black bubble. (support both device/simulator)
-
Long press the black bubble to show UIDebuggingInformationOverlay. (Apple's Private API, support iOS 10/11)
-
You can copy app logs and network logs as you like. (long press the text, then select all or select copy)
- When you are in the
Network Details
page, you can shake device or simulator to share network details via email or copy to clipboard.
Installation
CocoaPods
platform :ios, '8.0' use_frameworks! target 'YourTargetName' do pod 'CocoaDebug', :configurations => ['Debug'] end
Carthage
github "CocoaDebug/CocoaDebug"
WARNING: Don't submit
.ipa
to AppStore which has been linked with theCocoaDebug.framework
. This Integration Guide outline a way to use build configurations to isolate linking the framework toDebug
builds only.
Usage
Swift
//Step 1.
#if DEBUG
import CocoaDebug
#endif
//Step 2.
#if DEBUG
CocoaDebug.enable()
#endif
//Step 3.
public func print<T>(file: String = #file, function: String = #function, line: Int = #line, _ message: T, color: UIColor = .white) {
#if DEBUG
swiftLog(file, function, line, message, color)
#endif
}
Objective-C
//Step 1.
#ifdef DEBUG
@import CocoaDebug;
#endif
//Step 2.
#ifdef DEBUG
[CocoaDebug enable];
#endif
//Step 3.
#ifdef DEBUG
#define NSLog(fmt, ...) [CocoaDebug objcLog:[[NSString stringWithUTF8String:__FILE__] lastPathComponent] :NSStringFromSelector(_cmd) :__LINE__ :(fmt, ##__VA_ARGS__) :[UIColor whiteColor]]
#else
#define NSLog(fmt, ...) nil
#endif
Please check
Example_Swift.xcodeproj
andExample_Objc.xcodeproj
for more advanced usage.
NOTE: Be careful with
Other Swift Flags
&Preprocessor Macros
when using Swift & Objective-C in one project. You can refer to here.
TODO
- Unit Testing
License
CocoaDebug is released under the MIT license.
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK