Я обновился до MacOS 11 (Big Sur) Beta 4. И Xcode 12 beta 4.
У меня есть игровая площадка Swift с издателями Combine:
Just([1,2,3])
.setFailureType(to: Error.self) // Make the compiler pick up new API in MacOS Big Sur
.flatMap { $0.publisher }
.sink(receiveCompletion: { print($0) }, receiveValue: { print($0) })
После обновления моего игровые площадки начинают выходить из строя с сообщением: «'flatMap (maxPublishers: _ :)' доступен только в macOS 11.0 или новее». Компилятор Swift не указывает на ошибки в коде. И код работает нормально, если поместить его в обычный проект приложения командной строки Xcode.
Эту ошибку можно смягчить, включив издателя в проверку доступности, например, if #available(macOS 11.0, *) { }
на игровой площадке.
Я предполагаю, что это ошибка, и я сообщил о проблеме в Apple.
Или это ожидаемое поведение? И если это так ... есть ли способ намекнуть игровой площадке, какую цель развертывания принять? Если он неправильно выбирает актуальную версию операционной системы, с которой работает.
Спасибо!