Glad you found the project + videos useful. I think Sourabh Gupta's blog post is useful and the approach forms the basis of how this is done. Some people may wish to keep their "FRE" code in ObjC. And as a comparison it's actually deeper that the React Native page on using Swift That being said, what my project aimed to do was create a wrapper framework to: formalise the approach - no more verbose methods with names like "Convert_AS3_to_Native_String" wrap the FRE methods in Swift style syntax support accepted Swift language features such as optionals, guards etc minimise the amount of ObjC coding needed and abstract any used reduce boiler plate code by using macros still remain flexible so that ObjC can be used if desired work across OSX, iOS, tvOS utilise extensibility features of Swift The last one is probably the most important for me. It has allowed me to quickly port the ARKit API to AS3 relatively quickly Here for example is an extension which allows easy conversion of an AS3 Vector3D into the equivalent SCNVector 3 class and vice versa. //single liner let vec = SCNVector3(argv[0]) import Foundation import ARKit public extension SCNVector3 { init?(_ freObject: FREObject?) { guard let rv = freObject else { return nil } self.init(Float(rv["x"]) ?? 0, Float(rv["y"]) ?? 0, Float(rv["z"]) ?? 0) } func toFREObject() -> FREObject? { do { let ret = try FREObject(className: "flash.geom.Vector3D", args: Double(self.x), Double(self.y), Double(self.z)) return ret } catch { } return nil } }
... View more