El producto iPhone/ipad de mi empresa ha migrado a través de varias generaciones de iOS y Xcode (ahora en 5.1 y 4.3) y tiene muchos objetivos. Tal vez debido a estos factores, hay muchas líneas idénticas para cada archivo de origen en la sección PBXBuildFile, por ejemplo:¿Se pueden eliminar de forma segura las referencias de archivos en project.pbxproj de XCode?
14EE4CD315A5E69000DCA763 /* [email protected] in Resources */ = {isa = PBXBuildFile; fileRef = 14EE4CB615A5E68500DCA763 /* [email protected] */; }; 14EE4CD415A5E69000DCA763 /* [email protected] in Resources */ = {isa = PBXBuildFile; fileRef = 14EE4CB615A5E68500DCA763 /* [email protected] */; }; 14EE4CD515A5E69000DCA763 /* [email protected] in Resources */ = {isa = PBXBuildFile; fileRef = 14EE4CB615A5E68500DCA763 /* [email protected] */; }; 14EE4CD615A5E69000DCA763 /* [email protected] in Resources */ = {isa = PBXBuildFile; fileRef = 14EE4CB615A5E68500DCA763 /* [email protected] */; }; 14EE4CD715A5E69000DCA763 /* [email protected] in Resources */ = {isa = PBXBuildFile; fileRef = 14EE4CB615A5E68500DCA763 /* [email protected] */; };
Tenga en cuenta que las líneas de un archivo fuente dada son absolutamente (que estaba equivocado, que no son muy ...) idéntico, y la cantidad de líneas duplicadas varía de ninguna a media docena o más. Debido a esta duplicación, la sección PBXBuildFile de project.pbxproj tiene casi 5000 líneas, aunque en realidad solo tenemos unos 1200 archivos únicos.
Antes de improvisar una secuencia de comandos para quitar todas estas líneas duplicadas, y pedir prueba de regresión completa en todas las compilaciones y objetivos, me gustaría asegurarme de que Xcode no necesita estas líneas duplicadas por algún motivo arcano.
Estoy bastante seguro de que esto no fue causado por el control de versión flubbed; las líneas duplicadas solo aparecen en la sección PBXBuildFile y aunque no me gusta P4, tenemos pocos problemas para fusionar los cambios en el archivo project.pbxproj, aunque en casi 20,000 líneas, es un poco difícil de manejar. Creo que algún lanzamiento de Xcode hizo esto, tal vez al agregar nuevos objetivos, pero no encontré a nadie más quejándose sobre el tema.
Preguntas secundarias: ¿Cómo sucedió esto? ¿Alguien más ha encontrado este tipo de líneas duplicadas?
Ratas, no puedo creer que me perdí eso en el mar de IDs casi iguales. Había renunciado a recibir alguna vez una respuesta sobre esta, tendré que volver atrás y ver cómo los identificadores asignan las variantes del proyecto. – Taryn
Sí, parece que si tiene varios objetivos de compilación, esta sección los referenciará únicamente una vez por destino. Tiene sentido. –