Skip to content

Commit 9d4fd9e

Browse files
authored
Merge pull request Lision#14 from Lision/develop
Add a option to control log.
2 parents ad50125 + 4b1f864 commit 9d4fd9e

File tree

7 files changed

+31
-14
lines changed

7 files changed

+31
-14
lines changed

WKWebViewJavascriptBridge.xcodeproj/project.pbxproj

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -216,12 +216,12 @@
216216
isa = PBXProject;
217217
attributes = {
218218
LastSwiftUpdateCheck = 0900;
219-
LastUpgradeCheck = 0900;
219+
LastUpgradeCheck = 1010;
220220
ORGANIZATIONNAME = Lision;
221221
TargetAttributes = {
222222
BC4A38A320138F7500E96E5D = {
223223
CreatedOnToolsVersion = 9.0;
224-
LastSwiftMigration = 0900;
224+
LastSwiftMigration = 1010;
225225
ProvisioningStyle = Automatic;
226226
};
227227
BC4A38AC20138F7500E96E5D = {
@@ -230,6 +230,7 @@
230230
};
231231
BC995A452016F5690012F728 = {
232232
CreatedOnToolsVersion = 9.0;
233+
LastSwiftMigration = 1010;
233234
ProvisioningStyle = Automatic;
234235
};
235236
};
@@ -354,13 +355,15 @@
354355
CLANG_WARN_BOOL_CONVERSION = YES;
355356
CLANG_WARN_COMMA = YES;
356357
CLANG_WARN_CONSTANT_CONVERSION = YES;
358+
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
357359
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
358360
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
359361
CLANG_WARN_EMPTY_BODY = YES;
360362
CLANG_WARN_ENUM_CONVERSION = YES;
361363
CLANG_WARN_INFINITE_RECURSION = YES;
362364
CLANG_WARN_INT_CONVERSION = YES;
363365
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
366+
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
364367
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
365368
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
366369
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
@@ -414,13 +417,15 @@
414417
CLANG_WARN_BOOL_CONVERSION = YES;
415418
CLANG_WARN_COMMA = YES;
416419
CLANG_WARN_CONSTANT_CONVERSION = YES;
420+
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
417421
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
418422
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
419423
CLANG_WARN_EMPTY_BODY = YES;
420424
CLANG_WARN_ENUM_CONVERSION = YES;
421425
CLANG_WARN_INFINITE_RECURSION = YES;
422426
CLANG_WARN_INT_CONVERSION = YES;
423427
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
428+
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
424429
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
425430
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
426431
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
@@ -472,7 +477,7 @@
472477
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
473478
SKIP_INSTALL = YES;
474479
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
475-
SWIFT_VERSION = 4.0;
480+
SWIFT_VERSION = 4.2;
476481
TARGETED_DEVICE_FAMILY = "1,2";
477482
};
478483
name = Debug;
@@ -495,7 +500,7 @@
495500
PRODUCT_BUNDLE_IDENTIFIER = com.Lision.WKWebViewJavascriptBridge;
496501
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
497502
SKIP_INSTALL = YES;
498-
SWIFT_VERSION = 4.0;
503+
SWIFT_VERSION = 4.2;
499504
TARGETED_DEVICE_FAMILY = "1,2";
500505
};
501506
name = Release;
@@ -541,7 +546,7 @@
541546
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
542547
PRODUCT_BUNDLE_IDENTIFIER = com.Lision.WKWebViewJavascriptBridgeDemo;
543548
PRODUCT_NAME = "$(TARGET_NAME)";
544-
SWIFT_VERSION = 4.0;
549+
SWIFT_VERSION = 4.2;
545550
TARGETED_DEVICE_FAMILY = "1,2";
546551
};
547552
name = Debug;
@@ -557,7 +562,7 @@
557562
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
558563
PRODUCT_BUNDLE_IDENTIFIER = com.Lision.WKWebViewJavascriptBridgeDemo;
559564
PRODUCT_NAME = "$(TARGET_NAME)";
560-
SWIFT_VERSION = 4.0;
565+
SWIFT_VERSION = 4.2;
561566
TARGETED_DEVICE_FAMILY = "1,2";
562567
};
563568
name = Release;

WKWebViewJavascriptBridge.xcodeproj/xcshareddata/xcschemes/WKWebViewJavascriptBridge.xcscheme

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<Scheme
3-
LastUpgradeVersion = "0900"
3+
LastUpgradeVersion = "1010"
44
version = "1.3">
55
<BuildAction
66
parallelizeBuildables = "YES"
@@ -26,7 +26,6 @@
2626
buildConfiguration = "Debug"
2727
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
2828
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
29-
language = ""
3029
shouldUseLaunchSchemeArgsEnv = "YES">
3130
<Testables>
3231
<TestableReference
@@ -56,7 +55,6 @@
5655
buildConfiguration = "Debug"
5756
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
5857
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
59-
language = ""
6058
launchStyle = "0"
6159
useCustomWorkingDirectory = "NO"
6260
ignoresPersistentStateOnLaunch = "NO"

WKWebViewJavascriptBridge/WKWebViewJavascriptBridge.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,3 @@ FOUNDATION_EXPORT double WKWebViewJavascriptBridgeVersionNumber;
1515
FOUNDATION_EXPORT const unsigned char WKWebViewJavascriptBridgeVersionString[];
1616

1717
// In this header, you should import all the public headers of your framework using statements like #import <WKWebViewJavascriptBridge/PublicHeader.h>
18-
19-

WKWebViewJavascriptBridge/WKWebViewJavascriptBridge.swift

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,15 @@ import WebKit
1111

1212
@available(iOS 9.0, *)
1313
public class WKWebViewJavascriptBridge: NSObject {
14+
public var isLogEnable: Bool {
15+
get {
16+
return self.base!.isLogEnable
17+
}
18+
set(newValue) {
19+
self.base!.isLogEnable = newValue
20+
}
21+
}
22+
1423
private let iOS_Native_InjectJavascript = "iOS_Native_InjectJavascript"
1524
private let iOS_Native_FlushMessageQueue = "iOS_Native_FlushMessageQueue"
1625

WKWebViewJavascriptBridge/WKWebViewJavascriptBridgeBase.swift

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ protocol WKWebViewJavascriptBridgeBaseDelegate: AnyObject {
1414

1515
@available(iOS 9.0, *)
1616
public class WKWebViewJavascriptBridgeBase: NSObject {
17+
var isLogEnable = false
18+
1719
public typealias Callback = (_ responseData: Any?) -> Void
1820
public typealias Handler = (_ parameters: [String: Any]?, _ callback: Callback?) -> Void
1921
public typealias Message = [String: Any]
@@ -146,8 +148,12 @@ public class WKWebViewJavascriptBridgeBase: NSObject {
146148
// MARK: - Log
147149
private func log<T>(_ message: T, file: String = #file, function: String = #function, line: Int = #line) {
148150
#if DEBUG
149-
let fileName = (file as NSString).lastPathComponent
150-
print("\(fileName):\(line) \(function) | \(message)")
151+
guard isLogEnable else {
152+
return
153+
}
154+
155+
let fileName = (file as NSString).lastPathComponent
156+
print("\(fileName):\(line) \(function) | \(message)")
151157
#endif
152158
}
153159
}

WKWebViewJavascriptBridgeDemo/AppDelegate.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
1414
var window: UIWindow?
1515

1616

17-
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
17+
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
1818
// Override point for customization after application launch.
1919
return true
2020
}

WKWebViewJavascriptBridgeDemo/ViewController.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ class ViewController: UIViewController {
3838

3939
// setup bridge
4040
bridge = WKWebViewJavascriptBridge(webView: webView)
41+
bridge.isLogEnable = true
4142
bridge.register(handlerName: "testiOSCallback") { (paramters, callback) in
4243
print("testiOSCallback called: \(String(describing: paramters))")
4344
callback?("Response from testiOSCallback")

0 commit comments

Comments
 (0)