Debug Widget for iOS
When you are in the Network Details
page, you can shake device or simulator to share network details via email or copy to clipboard.
Added two new parameters when initialize DebugWidget
:
-
emailToRecipients
emailToRecipients: sets the initial recipients to include in the email’s “To” field when share via email. default value is `nil`.
-
emailCcRecipients
emailCcRecipients: sets the initial recipients to include in the email’s “Cc” field when share via email. default value is `nil`.
platform :ios, '8.0'
use_frameworks!
target 'YourTargetName' do
pod 'DebugWidget', :configurations => ['Debug']
end
github "DebugWidget/DebugWidget"
WARNING: Don't submit
.ipa
to AppStore which has been linked with theDebugWidget.framework
. This Integration Guide outline a way to use build configurations to isolate linking the framework toDebug
builds only.
//Step 1.
#if DEBUG
import DebugWidget
#endif
//Step 2.
#if DEBUG
DebugWidget.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
}
//Step 1.
#ifdef DEBUG
@import DebugWidget;
#endif
//Step 2.
#ifdef DEBUG
[DebugWidget enable];
#endif
//Step 3.
#ifdef DEBUG
#define NSLog(fmt, ...) [DebugWidget 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.
- Unit Testing
DebugWidget is released under the MIT license.