Это никогда не было безопасно, и теперь компилятор предупреждает вас более агрессивно.
let alphaPtr = UnsafeMutablePointer ...
В конце этой строки alphaPtr
уже недействительно. Нет никаких обещаний, что он указывает на выделенную память.
Вместо этого вам нужно вложить все необходимое использование в блок withUnsafeMutablePointer()
(или withUnsafePointer()
). Если вы не можете вложить его в блок (например, если вы храните указатель или возвращаете его), то нет способа исправить это. Вам придется изменить дизайн управления данными, чтобы не требовать этого.