Estoy tratando de arreglar una fórmula casera que se usa xcodebuild
para construir una dependencia. Lamentablemente, esta dependencia se basa en un SDK anterior, MacOSX10.12.sdk
. No puedo hacer que este proyecto use un SDK más nuevo, ya que requeriría una gran refactorización del código base. Además, esta biblioteca es de Apple y eligieron dejar de admitirla a propósito en el nuevo SDK de Xcode.
Afortunadamente, logré encontrar el SDK que necesito de este repositorio en Github. Sin embargo, ahora no sé cómo forzar xcodebuild
el uso del SDK que necesito. No importa qué opciones o variables configure, xcodebuild
siempre usa el SDK predeterminado de Xcode.
La versión del sistema que estoy usando para esto es 10.12.6. Sí, aunque la versión del propio sistema es la 10.12, Xcode se niega a utilizar un SDK que coincida con dicha versión.
Entonces, ¿cómo puedo forzar xcodebuild
el uso de mi SDK anterior en mi propio directorio personalizado?
Ejecutas xcodebuild así:
xcodebuild -sdk "/path/to/sdk/" -project myproj.xcodeproj
PIB2
-sdk
bandera.xcodebuild
todavía invocaclang
con banderas como-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk
y-mmacosx-version-min=10.13
. También invocalibtool
conMACOSX_DEPLOYMENT_TARGET=10.13
y-syslibroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk
jksoegaard
PIB2
jksoegaard
PIB2
ilovezfs
(uno de los mantenedores de homebrew) me ayudó a resolver mi problema sin tener que usar un SDK anterior configurando algunas variables de entorno. Él lo explica aquí. Ya había intentado hacer lo que él hizo, pero supongo que lo arruiné al intentar usar un SDK más antiguo.PIB2