Xcode 9.2, Swift 4.0.3
Consider this ObjC block:
that is imported to Swift as (notice no @convention(block) here)
and stored in Dictionary on Swift side:
next, the `dict` is passed to the ObjC method as an argument of `NSDictionary<NSString, id>` type.
So far so good, everything compiles and works.
Now, when I try to retrieve the closure on the ObjC side and use it (call it). It crashes in runtime.
now, trying to use `value` it will crash of course.
The known workaround is to specify @convention(block) manually and unsafeBitCast() to AnyObject. See: https://stackoverflow.com/a/32787157/699944 for complete problem and example