2015-08-14 5 views
-1

J'ai une question technique. J'ai intégré la bibliothèque widevine dans mon projet swift. J'ai lié avec l'en-tête de pontage la bibliothèque objective-c. Le problème est que l'utilisation de la bibliothèque:Utiliser la bibliothèque widevine dans swift

WViOsApiStatus WV_Initialize(const WViOsApiStatusCallback callback, NSDictionary *settings); 

WViOsApiStatusCallback est:

typedef WViOsApiStatus (*WViOsApiStatusCallback)(WViOsApiEvent event, NSDictionary *attributes); 

In-c i objectif d'écrire ce code dans le fichier .m:

WViOsApiStatus WidevineCallback(WViOsApiEvent event, NSDictionary *attributes); 

@implementation WidevineHelper 

-myFunc(){ 
    WV_Initialize(WidevineCallback, configuratioWV); 
} 

WViOsApiStatus WidevineCallback(WViOsApiEvent event, NSDictionary *attributes) 
{ 

//some code 
} 

Swift i avoir une idée de convertir le code objectif-c

Merci Andrea

de INFO____ de SUPPLEMENTAIRE

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]()) 
} 
} 

J'essaie cela; il semble correct, mais dit compilateur:

/path/WidevineHelper.swift:20:20: Ne peut pas invoquer 'WV_Initialize' avec une liste d'arguments de type '(rappel: WViOsApiStatusCallback, paramètres: [NSObject: ANYOBJECT])'

La déclaration de méthode Widevine en c objectif est:

typedef WViOsApiStatus (*WViOsApiStatusCallback)(WViOsApiEvent event, NSDictionary *attributes); 

WViOsApiStatus WV_Initialize(const WViOsApiStatusCallback callback, NSDictionary *settings); 

Je deviens fou avec le portage dans rapide. Tellement triste ..

+0

utilisez xcode 7 beta. Dans swift 2.0, vous pouvez utiliser le pointeur de fonction facilement. – drskur

Répondre

0

utilise xcode 7 beta. Dans swift 2.0, vous pouvez utiliser le pointeur de fonction facilement.