Как исправить ошибку в коде, чтобы не ругался xcode?
Написал следующий код для интеграции полноэкранной рекламыв приложение ios. Xcode выдает ошибку: Type 'YandexInter' does not conform to protocol 'UIViewControllerRepresentable'
Как ее исправить? Подскажите, пожалуйста. Вот код:
struct YandexInter : UIViewControllerRepresentable {
typealias UIViewControllerType = YMAInterstitialAd
func makeUIViewController(context: Context) -> YMAInterstitialAd
{
let adViewAdIn = YMAInterstitialAd(adUnitID: "R-M-2248734-1")
adViewAdIn.delegate = context.coordinator
adViewAdIn.load()
return adViewAdIn
}
func updateUIViewController(_ uiView: YMAInterstitialAd, context: Context) {}
func makeCoordinator() -> Coordinator
{
Coordinator()
}
class Coordinator: NSObject, YMAInterstitialAdDelegate
{
var interstitialYandexAd: YMAInterstitialAd!
func loadInterstitial(){
//self.interstitialYandexAd = YMAInterstitialAd(adUnitID: "R-M-2248734-1")
//self.interstitialYandexAd?.load()
self.interstitialYandexAd.delegate = self
}
func interstitialAdDidLoad(_ interstitialYandexAd: YMAInterstitialAd) {
let scenes = UIApplication.shared.connectedScenes
let windowScene = scenes.first as? UIWindowScene
let window = windowScene?.windows.first
let root = window?.rootViewController
self.interstitialYandexAd.present(from: root!)
print("Loaded Adv.")
}
func interstitialAdDidFail(toLoad interstitialYandexAd: YMAInterstitialAd, error: Error) {
print("Loading failed. Error: \(error)")
}
func interstitialAdDidFail(toPresent interstitialAd: YMAInterstitialAd, error: Error) {
print("Presenting failed. Error: \(error)")
}
}
}
Источник: Stack Overflow на русском