2012-05-28 11 views
7

En Xcode, cambiar la configuración en Archivo> Configuración de área de trabajo ... se almacena por separado para cada usuario de Xcode. Quiero que la configuración del espacio de trabajo se establezca igual para todos los usuarios. Mi objetivo es tener los objetivos integrados para copiar en el mismo directorio relativo.Xcode: Agregar WorkspaceSettings.xcsettings al control de código fuente

Por defecto la configuración del espacio de trabajo se almacenan en:

[WorkspaceName] .xcworkspace/xcuserdata/[nombre de usuario] .xcuserdatad

Quiero la capacidad de hacer que este comparte entre todos los usuarios, así que puede agrégalo al control de la versión.

+2

que estoy tratando de hacer esto también. ¿Qué diablos es el punto de tener un espacio de trabajo si no puede almacenar configuraciones relacionadas con el espacio de trabajo en él? – devios1

Respuesta

6

Terminamos escribir un pequeño script bash que realiza cuatro omisión grabar comandos para modificar la configuración correcta

scriptPath="$(dirname "$0")" 
cd "$scriptPath" 
fullPath=$(pwd) 
settingsFile="$fullPath"/<project>.xcworkspace/xcuserdata/$USER.xcuserdatad/WorkspaceSettings.xcsettings 

cp -f "$settingsFile" "$settingsFile.plist" 

defaults write "$settingsFile" BuildLocationStyle CustomLocation 
defaults write "$settingsFile" CustomBuildLocationType RelativeToWorkspace 
defaults write "$settingsFile" CustomBuildProductsPath "Build/Products" 
defaults write "$settingsFile" CustomBuildIntermediatesPath "Build/Intermediates" 

cp -f "$settingsFile.plist" "$settingsFile" 
+0

+1, solución interesante. Supongo que no hay una forma infalible de garantizar que esto suceda cada vez que alguien establece un nuevo espacio de trabajo. – mpontillo

+0

Utilicé esta idea pero agregaría la siguiente información: * Creé un nuevo objetivo "Agregado" con el script como Fase de compilación * Cambié la primera línea a: 'scriptPath = "$ PROJECT_FILE_PATH"' * He cambiado la 4. línea - eliminar los corchetes del proyecto * Cambié la última línea a: 'cp -f' $ settingsFile.plist '' $ archivo_configuración '2> & 1>/dev/null' Ahora un bot puede usar esto para la integración también. – gamma

Cuestiones relacionadas