diff --git a/ios/CMakeLists.txt b/ios/CMakeLists.txt index a32d039..29826b1 100644 --- a/ios/CMakeLists.txt +++ b/ios/CMakeLists.txt @@ -15,7 +15,10 @@ set_target_properties(ffiquickjs PROPERTIES VERSION 1.0.0 # "compatibility version" in semantic format in Mach-O binary file SOVERSION 1.0.0 + MACOSX_FRAMEWORK_BUNDLE_VERSION 100 + MACOSX_FRAMEWORK_SHORT_VERSION_STRING 100 + XCODE_ATTRIBUTE_DYLIB_INSTALL_NAME_BASE "@rpath" PUBLIC_HEADER ffi.h XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "Apple Development" # RESOURCE "${RESOURCE_FILES}" -) \ No newline at end of file +) diff --git a/lib/flutter_qjs.dart b/lib/flutter_qjs.dart index fb82f24..743f0c1 100644 --- a/lib/flutter_qjs.dart +++ b/lib/flutter_qjs.dart @@ -128,4 +128,18 @@ class FlutterQjs { jsFreeValue(_ctx, jsval); return ret; } + + /// Evaluate js script (Sync). + dynamic evaluateSync(String command, {String name, int evalFlags}) { + _ensureEngine(); + var jsval = + jsEval(_ctx, command, name ?? "", evalFlags ?? JSEvalType.GLOBAL); + if (jsIsException(jsval) != 0) { + jsFreeValue(_ctx, jsval); + throw Exception(parseJSException(_ctx)); + } + var result = jsToDart(_ctx, jsval); + jsFreeValue(_ctx, jsval); + return result; + } }