Vungle playAd API 在 Swift 中不工作
Vungle playAd API not working in Swift
我正在尝试使用 VungleSDK Advertisement 框架的 playAd API,以下两个函数被破坏。它说要使用带有错误参数的下两个:
- (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;
在Swift中,我怎么称呼这样的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.
中编译
我错过了什么??
这似乎行得通(尽管据我所知在任何地方都没有记录):
try! sdk.playAd(viewController, error: ())
这是相同的工作解决方案,带有错误处理:
do {
try sdk.playAd(viewController, error: ())
} catch let error as NSError {
print(error)
}
我正在尝试使用 VungleSDK Advertisement 框架的 playAd API,以下两个函数被破坏。它说要使用带有错误参数的下两个:
- (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;
在Swift中,我怎么称呼这样的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.
中编译我错过了什么??
这似乎行得通(尽管据我所知在任何地方都没有记录):
try! sdk.playAd(viewController, error: ())
这是相同的工作解决方案,带有错误处理:
do {
try sdk.playAd(viewController, error: ())
} catch let error as NSError {
print(error)
}