Lision/WKWebViewJavascriptBridge
50.7
Adequate · 1 October 2026
475
lines of production code
Swift
primary language
2
measurements over time
What this system is
This system is a Swift-based library that facilitates two-way communication between iOS native code and JavaScript within a WKWebView. It provides a bridge mechanism allowing native handlers to register and respond to JavaScript calls, while also enabling JavaScript to invoke native functions and receive callbacks. The project includes a demo application to illustrate usage and supports integration via Swift Package Manager and CocoaPods.
Features
Add WKWebViewJavascriptBridge demo app
The WKWebViewJavascriptBridgeDemo project has been added, providing a complete iOS application to demonstrate the bridge library. The demo includes a native ViewController that initializes a WKWebView, registers a native handler ('testiOSCallback'), and calls a JavaScript handler ('testJavascriptHandler'). It also features a bundled HTML page that sets up the JavaScript bridge, registers a JS handler, and provides UI buttons to trigger message passing between the native app and the web view, along with a log display to visualize the communication.
WKWebViewJavascriptBridgeDemo · high confidence
Initial project setup with Swift 5 support and CI configuration
This change establishes the initial repository structure for WKWebViewJavascriptBridge, introducing a .swift-version file to specify Swift 5.0 support and adding a .travis.yml configuration to automate builds on Travis CI using Xcode 10.2. It also includes comprehensive documentation in both English (README.md) and Chinese (README\_ZH-CN.md), detailing installation via Swift Package Manager, CocoaPods, and Carthage, as well as usage instructions for bridging Swift and JavaScript in WKWebView.
(repo-wide) · high confidence
Initial project structure for WKWebViewJavascriptBridge
The Xcode project file for WKWebViewJavascriptBridge has been created, establishing the build configuration for the library framework, its unit tests, and a demo application. This structure includes the core Swift source files (WKWebViewJavascriptBridge.swift, WKWebViewJavascriptBridgeBase.swift, and WKWebViewJavascriptBridgeJS.swift), the public header, and the necessary resources to build and run the demo app.
WKWebViewJavascriptBridge.xcodeproj · high confidence
Introduce WKWebViewJavascriptBridge for iOS-native/JavaScript communication
Adds a new Swift-based bridge framework (WKWebViewJavascriptBridge) that enables two-way communication between iOS native code and JavaScript running in a WKWebView. The library injects a JavaScript object (WKWebViewJavascriptBridge) into the web view, allowing native code to register handlers for JS calls and send messages to JS, while JS can call native handlers and receive callbacks. It includes a startup message queue to handle messages sent before the bridge is fully initialized, and provides a log toggle for debugging.
WKWebViewJavascriptBridge · high confidence
Architecture
Shared Xcode scheme for WKWebViewJavascriptBridge
A new shared Xcode scheme (WKWebViewJavascriptBridge.xcscheme) has been added to the project, enabling consistent build, test, launch, and archive configurations for the framework and its tests across team members and CI environments.
WKWebViewJavascriptBridge.xcodeproj/xcshareddata · high confidence
Behavioural changes
Updated Xcode workspace configuration for Xcode 9.3
The project workspace has been updated to align with Xcode 9.3. This includes adding the standard workspace data file to define the project reference and introducing the IDEWorkspaceChecks.plist file, which suppresses the 32-bit architecture warning in the workspace settings.
WKWebViewJavascriptBridge.xcodeproj/project.xcworkspace · high confidence
Test coverage
Added initial test suite structure for WKWebViewJavascriptBridge
Added a new test target (WKWebViewJavascriptBridgeTests) containing an Info.plist and a base Swift test file. This establishes the scaffolding for unit and performance tests for the bridge library, including placeholder test methods for functional verification and performance measurement.
WKWebViewJavascriptBridgeTests · high confidence
Dependencies
Add Swift Package Manager and CocoaPods support
The library is now available via Swift Package Manager and CocoaPods, allowing users to integrate it into iOS projects using these standard dependency managers. The Package.swift file defines the package for iOS 9+ with Swift 5.5 tools, while the .podspec file specifies version 1.2.2, requiring ARC and Swift 5.0.
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Score
- CAI 55 → 51 (-4.2)
- Rubric changed (rubric-2026.09.11 → rubric-2026.09.18) — scores are not directly comparable.
Lenses
- Code Health 100 → 100 (+0.0)
- Architecture 69 → 69 (+0.0)
- Maturity 59 → 59 (+0.0)
- Readiness 34 → 28 (-6.6)
- Security 100 → 100 (+0.0)
Resolved (2)
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
New (2)
- Coverage not measured — Swift suite
- Off the main sequence: WKWebViewJavascriptBridge
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
Lision/WKWebViewJavascriptBridge was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 1 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 8083028134f91c32647b109a78c36a0187708ad9 — the exact code this score is about.
- Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-e569280dd5e2.