Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
v3.0.2 (next)
Added
-
[JLClipboard] Added
$clipboard.set(text)and$clipboard.get()functions. This will allow copy and access text in native clipboard. -
[JLDevice] Added
$device.info()function. To provide access to native device information. -
[JLContacts] Added
$contacts.authorize()function. Now the extension would not trigger authorization on install. -
[JLAudio] Added
$audioextension. It has$audio.player,$audio.recorderand$audio.vibratefunctions. -
[JLPhotoLibrary] Added
$photolibrary.camera.authorize()and$photolibrary.camera.granted()functions. The extension no longer triggers authorization on install. -
[Core] Added a Makefile command to fix "bad interpreter: Operation not permitted" errors. This error maybe caused by downloading bash files from untrusted sources. Execute
make permissionsinsidesources/xcodedirectory to fix any compilation problems with that issue. -
[Core] Add a
example.htmlfile. Fill it with the examples for the extension. -
[Core] Add a Build Phase Script in the framework project.
Changed
- [Core] Improved the way the example html file is generated. Now extensions can add the examples on compilation time.
NAME="MyExtension"
EXAMPLES_DIR="${PWD}/../../App/Files/Examples"
TEMPLATES_DIR="${EXAMPLES_DIR}/Templates"
SOURCES_DIR="${PWD}/${NAME}"
# Only copy the examples if the examples directory exists
if [ -d "${EXAMPLES_DIR}" ]
then
cat "${SOURCES_DIR}/examples.html" > "${EXAMPLES_DIR}/${NAME}.example.html"
fi
Fixed
- [ARM Macs]. Automatically detects processor and selects the proper build tool.
- [Core]. Fixed crash when clicking a non html link (now shows SFSafariViewController).
Downloads
v3.0.1 (March 2023)
Added
-
Ability for extensions to inject Javascript to the WKWebView instance.
-
Ability for the WKWebView instance to load url by using deep links like:
jasonelle://href?=https://google.cl. -
Added
JLPhotoLibraryextension that helps requesting access to photo library. -
$keychainextension:$keychain.set,$keychain.get,$keychain.removefor usage within the WebView. This will enable storing data securely in the iOS's keychain. -
$cookiesextension:$cookies.set,$cookies.get,$cookies.removefor usage within the WebView. This will help with storing cookies in the keychain. Requires$keychainextension to be enabled. Also you can use$cookies.Cookiesto access js-cookie library. -
$contactsextension:$contacts.allfor usage within the WebView. -
Ability to have
allowedlist of urls in configuration. Not allowed urls will launch native browser. -
Added LaunchScreen file (Both in SwiftUI and Storyboard file).
-
Added WebView.edgesIgnoringSafeArea(.all). Some websites need this, specially when using a navbar. Thanks to @Mättu in Telegram for pointing this out.
-
Added meta viewport js fix for websites that do not have proper metatag. In webview.js.
-
Added example extension.
-
Added hook triggering for extensions.
-
Added event triggering in webview for extensions.
-
Added Reachability Events Extension.
Fixed
-
WKWebViewtriggeredappdidLoadevent more than once. Now it only triggers the event when loaded. -
build.shcrashed when using paths with spaces.
Downloads
v3.0.0 (September 2022)
This is a new engine created from scratch by Camilo in 2022. (AGPLv3 or MPLv2 Licenses). It was ditched the old json based approach to a javascript one. Consists of mainly a WebView engine, because there are lots of competition of "native over the wire" frameworks, and was better to focus on the Web App market such as Bubble users.
- New rewrite of the engine from scratch.
- Will only focus on webview workflow.
- No need for Cocoapods, Carthage or Swift PM.
- Native over the wire workflows delegated to other frameworks like Native Live.
Downloads
Legacy Versions (2016 - 2022)
These versions are not currently supported, but maybe something can be learned or be useful. These were using the old engine created originally by Ethan. (MIT License).