CocoaDebug is an iOS debugging tool with the following features;
UIDebuggingInformationOverlay
. (Apple’s Private API, support iOS 10/11/12)print()
and NSLog()
messages which have been written by developer in Xcode. (optional)console.log()
,console.debug()
,console.warn()
,console.error()
,console. info()
. (support both WKWebView
and UIWebView
). (optional)JSON
and Google’s Protocol buffers
Also Read : Yaazhini – Free Android APK & API Vulnerability Scanner
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 the CocoaDebug.framework. This Integration Guide outline a way to use build configurations to isolate linking the framework to Debug builds only.
Usage
//Step 1. (AppDelegate.swift)
if DEBUG
import CocoaDebug
endif
//Step 2. (AppDelegate.swift)
if DEBUG
CocoaDebug.enable()
endif
//Step 3. (AppDelegate.swift)
public func print(file: String = #file, function: String = #function, line: Int = #line, _ message: T, color: UIColor = .white) {
#if DEBUG
swiftLog(file, function, line, message, color, false)
#endif
}
Objective-C
//Step 1. (AppDelegate.m)
ifdef DEBUG
@import CocoaDebug;
endif
//Step 2. (AppDelegate.m)
ifdef DEBUG
[CocoaDebug enable];
endif
//Step 3. (PrefixHeader.pch)
ifdef DEBUG
#import “_ObjcLog.h”
//#import //if use framework
endif
//Step 4. (PrefixHeader.pch)
ifdef DEBUG
#define NSLog(fmt, …) [_ObjcLog logWithFile:__FILE__ function:__FUNCTION__ line:__LINE__ color:[UIColor whiteColor] unicodeToChinese:NO message:(fmt), ##__VA_ARGS__]
else
#define NSLog(fmt, …) nil
endif
Please check Example_Swift.xcodeproj and Example_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.
Parameters
When you initialize CocoaDebug, you can customize the following parameter values before CocoaDebug.enable()
.
serverURL
– If the crawled URLs contain server URL ,set these URLs bold font to be marked. not mark when this value is nil. default value is nil.ignoredURLs
– Set the URLs which should not crawled, ignoring case, crawl all URLs when the value is nil. default value is nil.onlyURLs
– Set the URLs which are only crawled, ignoring case, crawl all URLs when the value is nil. default value is nil.tabBarControllers
– Set controllers to be added as child controllers of UITabBarController. default value is nil.logMaxCount
– The maximum count of logs which CocoaDebug display. default value is 1000.emailToRecipients
– Set the initial recipients to include in the email’s “To” field when share via email. default value is nil.emailCcRecipients
– Set the initial recipients to include in the email’s “Cc” field when share via email. default value is nil.mainColor
– Set the main color with hexadecimal format. default value is #42d459.SECurityTr8Ker is a Python application designed to monitor the U.S. Securities and Exchange Commission's (SEC)…
ripgrep is a line-oriented search tool that recursively searches the current directory for a regex…
InfluxDB is the leading open source time series database for metrics, events, and real-time analytics.…
Fuxploider is an open source penetration testing tool that automates the process of detecting and…
Before delving into the topic, let's first clarify the role of an Administrator within the…
Embassy is the next-generation framework for embedded applications. Write safe, correct and energy-efficient embedded code…