i have a technical question. I have integrated the widevine library inside my swift project. I have linked with bridging header the objective-c library. The problem is that the library use:
WViOsApiStatus WV_Initialize(const WViOsApiStatusCallback callback, NSDictionary *settings );
where WViOsApiStatusCallback
is:
typedef WViOsApiStatus (*WViOsApiStatusCallback)( WViOsApiEvent event, NSDictionary *attributes );
In objective-c i write this code in .m file:
WViOsApiStatus WidevineCallback( WViOsApiEvent event, NSDictionary *attributes );
@implementation WidevineHelper
-myFunc(){
WV_Initialize(WidevineCallback, configuratioWV);
}
WViOsApiStatus WidevineCallback( WViOsApiEvent event, NSDictionary *attributes )
{
//some code
}
In Swift i have any idea to convert the objective-c code
Thank you Andrea
____ ADDITIONAL INFO____
class WidevineHelper: NSObject {
typealias WViOsApiStatusCallback = (event: WViOsApiEvent, attributes: NSDictionary? ) -> WViOsApiStatus
var testCallaback : WViOsApiStatusCallback = {(event: WViOsApiEvent, attributes: NSDictionary?) ->WViOsApiStatus in
}
func testfunction(){
var test = WV_Initialize(callback: testCallaback , settings: [NSObject : AnyObject]())
}
}
I try this; it seems correct but compiler says:
/path/WidevineHelper.swift:20:20: Cannot invoke 'WV_Initialize' with an argument list of type '(callback: WViOsApiStatusCallback, settings: [NSObject : AnyObject])'
The widevine method declaration in objective-c is:
typedef WViOsApiStatus (*WViOsApiStatusCallback)( WViOsApiEvent event, NSDictionary *attributes );
WViOsApiStatus WV_Initialize(const WViOsApiStatusCallback callback, NSDictionary *settings );
I'm going crazy with porting in swift. So sad..