2012-02-20 19 views
9

¿Alguien puede ayudarme? ¿Qué debo hacer para corregir el error "El archivo InfoPlist.strings no se pudo abrir porque no hay tal archivo"? Apareció después de que actualicé mi proyecto de SVN. En realidad, HAY InfoPlist.strings en mi proyecto, no tengo idea de por qué Xcode no lo ve.El archivo InfoPlist.strings no se pudo abrir

Quizás la siguiente información lo ayude a comprender lo que está pasando: cuando expanda InfoPlist.strings haciendo clic en el triángulo al lado, se muestra: InfoPlist.strings (inglés), InfoPlist.strings (alemán), InfoPlist.strings (francés). El inglés es negro, pero el francés y el alemán son rojos, así que supongo que es probable que algo esté mal con ellos y podría ser la causa del error. Además, tengo Localizable.strings, que se comporta de manera similar. Tiene (cuando se expandió) Localizable.strings (inglés), Localizable.strings (alemán), Localizable.strings (francés) y al igual que en InfoPlist.strings, el inglés es negro, mientras que el francés y el alemán son rojos.

Cuando miro dentro de la carpeta de mi proyecto, allí está lo siguiente: una carpeta llamada en.lproj contiene Localizable.strings e InfoPlist.strings. Las carpetas llamadas fr.lproj y de.lproj contienen lo mismo: Localizable.strings e InfoPlist.strings. Parece que ya lo describí todo. Por favor, explícame qué hacer. Trabajo con Xcode 4.2

+0

¿Intentó eliminar el archivo y hacer que svn update? –

+0

¿quiere decir eliminar archivos InfoPlist y Localizable? ¿No es referencia sino que los borra del disco? Si es así, intenté –

+1

¿Encontró una solución para esto? Estoy teniendo el mismo problema después de agregar una localización y actualizar desde SVN – Mutix

Respuesta

0

La ruta a su archivo Info.plist se define en la configuración de compilación para el destino. Mire y vea a lo que está establecido. Si el proyecto proviene de una máquina diferente, podría ser una ruta absoluta, pero en realidad debería ser una ruta relativa a la raíz del proyecto, como Sources/Info.plist.

+0

¿Quiere decir que debería mirar el embalaje en BuildSettings? Si es así, entonces es MyApp/MyApp - Info.plist. ¿Está bien o no? –

+0

Eso depende de dónde se encuentre el archivo Info.plist en la estructura de directorios de su proyecto. ¿Es este el camino correcto? Vaya a un terminal y 'cd' al directorio del proyecto, luego escriba 'find. -name '* .plist'', que mostrará una lista de todos los archivos plist en el proyecto, luego podemos ver dónde debe estar el archivo. – joerick

+0

@JoeRick Info.Plist no tiene mucho que ver con InfoPlist.strings y la manera realmente horrible que Xcode maneja. Dependiendo de los cambios, Xcode generalmente los sigue moviendo. Mis pensamientos son keep'em, todos en el directorio .lproj, asegúrese de que estén en recursos copiados en fases de compilación, inscritos en los idiomas correctos y rock and roll. –

3

info.plist código fuente: como: .... {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; ....

check "path" es una ruta absoluta?

+0

gracias por apuntarme en la dirección correcta, el código que necesita cambio está realmente en el archivo 'project.pbxproj' en lugar de en la fuente' info.plist' – Mutix

10

¡Acabo de solucionar este problema!

Mi segundo archivo Strings.plist (FR) tenía una ruta absoluta. El menú desplegable para el tipo de ruta (absoluta, relativa) estaba atenuado en el panel de información de xcode, por lo que no pude cambiarlo a una ruta relativa.

La solución es cambiar manualmente en el archivo project.pbxproj:

Si abre el archivo para ver la fuente, y la búsqueda de "plist", busque la línea siguiente:

/* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = /Users/[YOUR-USER]/[PATH_TO_PROJECT]/fr.lproj/InfoPlist.strings; sourceTree = "<absolute>"; }; 

Aviso que el atributo path es la ruta completa al archivo y que el atributo sourceTree está establecido en <absolute>.

Ahora cambia el path por lo que es relativo:

/Users/[YOUR-USER]/[PATH_TO_PROJECT]/fr.lproj/InfoPlist.strings 

debe convertirse en

fr.lproj/InfoPlist.strings 

también cambiar el valor sourceTree<absolute>-<group>

La línea ahora debería tener este aspecto:

/* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/InfoPlist.strings; sourceTree = "<group>"; }; 

Repita estos pasos para todas las ubicaciones que están bloqueadas con rutas absolutas.

Guarde el archivo, confirme los cambios y voilà! no más ningún archivo problema :)

+0

También lo arreglé yo solo, pero lo voté para que cualquiera pueda ver tu respuesta y 'arreglar' este feo error de xcode ... – Shebuka

+0

Tuve este problema mientras trabajaba con Xcode 6.1 y la solución fue hacer lo inverso: establecer 'sourceTree' en en lugar de dccarmo

0

simplemente he recreado los archivos (con contenido vacío) solicitó en las rutas que les pedí, dado que soy nuevo en XCode y no pareció afectar mi proyecto actual, decidí que era una solución/atajo aceptable para continuar.

1

Tuve el mismo problema, solución fácil para mí: selecciona el archivo plist en xcode y asegúrate de que su "Membresía objetivo" esté activada (para la compilación que estás haciendo).

0

La solución para esta instancia particular del error fue "Info.plist no se pudo abrir porque no hay tal archivo" fue que había eliminado todos los archivos en la carpeta "Project Tests", pero todavía estaba tenía "Pruebas de proyecto" enumeradas debajo de mis objetivos. Después de eliminar el objetivo "pruebas", el proyecto se creó correctamente.

0

Recibí este error cuando saqué los cambios de mi cohorte a mi local para poder revisarlos y probarlos. Comprobé todas las configuraciones sugeridas en este hilo, pero todas parecían correctas, ish. Mi solución fue simplemente volar la rama, restablecer a maestro y extraer las actualizaciones a una rama limpia. La vieja técnica de reiniciar todo.

Cuestiones relacionadas