Ошибка компилятора Swift (Xcode): отсутствует возврат в закрытии, которое, как ожидается, вернет «String» /Users/mac/Documents/Programming/Projects/yay_food/ios/Pods/StripeCore/StripeCore/StripeCore/Source/Analytics/AnalyticLoggableError.swift:62:8
Ошибка компилятора Swift (Xcode): отсутствует возврат в закрытии, которое, как ожидается, вернет «String» /Users/mac/Documents/Programming/Projects/yay_food/ios/Pods/StripeCore/StripeCore/StripeCore/Source/Analytics/AnalyticLoggableError.swift:69:8
Я искал везде, но это не похоже на проблему в отношении Swift, потому что это самогенерируемые файлы, созданные Stripe для ios.
Я попробовал выполнить очистку флаттера и перезапустить все, но это тоже не сработало. Я даже пробовал это сделать в совершенно новом проекте. Или понизить полосу. Ничего не помогло.
и если я переопределил ошибку в сгенерированном классе. Я получаю ту же ошибку, но из другого файла.
Например:
Ошибка компилятора Swift (Xcode): отсутствует возврат в закрытии, который, как ожидается, вернет «Bool» /Users/mac/Documents/Programming/Projects/yay_food/ios/Pods/StripePaymentSheet/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/PaymentMethodFormViewController.swift:215:8
@sonle Этот файл создается самостоятельно из Stripe, каждый раз, когда я исправляю ошибки в одном из файлов, он показывает ту же ошибку, но в другом файле. Кроме того, повторное создание файлов или обновление/установка модуля повторно создают файлы с той же ошибкой.
Я посмотрел код на github, и замыкания используют новую возможность опускать ключевое слово return
в операторах if/else
и switch
.
Это было введено в Swift 5.9, поэтому решение здесь состоит в том, чтобы обновить ваш проект для использования этой версии (или более новой) Swift, поскольку, похоже, именно на ней построена библиотека Stripe, или перейти на более раннюю версию библиотеки.
Обратите внимание, что я не использую эту библиотеку, поэтому, пожалуйста, не спрашивайте, на какую версию перейти, если вы решите решить проблему таким образом.
Он указал именно файл, вызвавший ошибку. Не могли бы вы открыть PaymentMethodFormViewController и показать код в строке 215?