see - Error de enlazador Swift en la compilación de lanzamiento que se puede reparar agregando código
library not found for (4)
En Xcode 8, un proyecto mío Swift funciona en modo Debug pero no se puede vincular en modo Release:
Undefined symbols for architecture x86_64:
"Swift.UnsafeMutableBufferPointer.(subscript.materializeForSet : (Swift.Int) -> A).(closure #1)"
Puedo solucionar el error cambiando esta línea:
let nextPeriod = currentSchedule.periods.filter({ $0.startDate > now }).sorted(by: { $0.startDate < $1.startDate }).first
a:
let nextPeriod = currentSchedule.periods.filter({ $0.startDate > now }).first
pero eso obviamente altera el comportamiento de mi aplicación. Afortunadamente, también puedo corregir el error agregando la siguiente línea a casi cualquier método, inicializador u observador de propiedades:
let _ = [""].sorted(by: {$0 < $1})
(Digo "casi" cualquiera porque no parece corregir el error del vinculador cuando se agrega a los observadores de propiedades en propiedades con tipos enum
que definí a mí mismo).
...¿Qué?
Tuve el mismo problema al migrar a Swift 3.
Lo hice funcionar dejando que el objeto que llama al código herede de NSObject.
Al principio pensé que ese extraño código de manzana se inserta en pocos lugares con productos comparables ... Pero no funcionó cuando lo agregué de nuevo. Lo que funcionó fue reducir el nivel de optimización a: optimización rápida de un solo archivo Echaron a perder esta versión de xcode, los guiones gráficos también tienen enormes problemas.
Este es un error del compilador, que se ha corregido en Xcode 8.1
.
Tuve el mismo problema al utilizar sorted(by:
method en un proyecto que estaba migrando a Swift 3).
Parece un error en el compilador y encontré las siguientes referencias:
- Swift 2.1 Error al ordenar en su lugar, solo en compilaciones de versiones (el mismo problema en una versión anterior de Xcode / Swift)
- https://forums.developer.apple.com/thread/63213 (problema en Xcode 8)
Por ahora, la única solución que funcionó para mí fue cambiar el rápido nivel de optimización del compilador a None
en las Configuraciones de compilación.