2016-03-26 3 views
1

Я пытаюсь использовать API-интерфейс playAd в структуре VungleSDK Advertisement, а следующие две функции дефекированы. Он говорит, чтобы использовать следующие два с параметром ошибки:Vungle playAd API, не работающий в Swift

- (void)playAd:(UIViewController *)viewController __attribute__((deprecated)); 
- (void)playAd:(UIViewController *)viewController withOptions:(id)options __attribute__((deprecated)); 


- (BOOL)playAd:(UIViewController *)viewController error:(NSError **)error; 
- (BOOL)playAd:(UIViewController *)viewController withOptions:(id)options error:(NSError **)error; 

В Свифта, как бы я называть такое API?

Я попробовал несколько вещей, в том числе следующие:.

let sdk = VungleSDK.sharedSDK() 
var error : NSError? 

do { 
    try sdk.playAd(viewController, error:err) 
} catch let err as NSError { 
    // error handling 
} 

Я также попытался прохождения & ERR, так как он ожидает указатель на указатель NSError (а также пытался определить ошибку как NSErrorPointer все они не в состоянии компиляции в новом Swift 2.2

что я отсутствую ??

ответ

1

кажется, что это работает (хотя это нигде не документировано, насколько я могу сказать):.

try! sdk.playAd(viewController, error:()) 

Здесь же рабочий раствор, с обработкой ошибок:

do { 
    try sdk.playAd(viewController, error:()) 
} catch let error as NSError { 
    print(error) 
}