tutorial started getting iphone objective-c ios ipad

iphone - tutorial - ios getting started



El comando/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang falló con el código de salida 1 (21)

¡Ha incluido accidentalmente el archivo .m OverlayManager en lugar del archivo .h dentro de la misma clase OverlayManager! Básicamente, el compilador ya sabe compilar el archivo .m, pero cuando #import it, el compilador intenta incluirlo en línea con ese mismo archivo fuente, generando así símbolos duplicados. Pero su caso es único, ya que está importando #m del archivo de la clase ''.m real''. Está compilando recursivamente su clase OverlayManager.

Intento hacer una aplicación que lea pdf usando el kit pdf en Xcode 4.3 pero me da el siguiente error

ld: duplicate symbol _OBJC_METACLASS_$_OverlayManager in /Users/dt4it/Library/Developer/Xcode/DerivedData/MyPdf4-bmkjglhhvneluqcbwpceiqjvdcmq/Build/Intermediates/MyPdf4.build/Debug-iphonesimulator/MyPdf4.build/Objects-normal/i386/OverlayManager-D0866CFD31A05E68.o and /Users/dt4it/Library/Developer/Xcode/DerivedData/MyPdf4-bmkjglhhvneluqcbwpceiqjvdcmq/Build/Intermediates/MyPdf4.build/Debug-iphonesimulator/MyPdf4.build/Objects-normal/i386/OverlayManager-B31AE7412100AF6D.o for architecture i386 Command /Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang failed with exit code 1

cualquier ayuda por favor?


Agregar los archivos faltantes (archivos en color rojo en Xcode-> target-> Build Phases-> compiled sources) a la carpeta de destino resolvió el problema para mí.


Configuración del proyecto> En "Objetivos", seleccione su proyecto> Fases de compilación> abra "Compilar fuentes" y "Copiar recursos de paquete". Verifique si los archivos están listados en color rojo. Si es así, simplemente elimínelo. Luego limpia y corre.

Trabajó para mi.


En mi caso, era una entrada de Swift Flag duplicada dentro de la Configuración de compilación de mi Target> Otros Swift Flags. Tenía dos entradas en -Xfrontend .


Este problema generalmente ocurre cuando hay más de dos versiones de XCode instaladas en las cuales se incorporan diferentes versiones de Swift para Ex. XCode 6.4 y XCode 7.3 están instalados y ejecutan Swift 1.2 y Swift 2.0. Por error, intenta compilar el código con la versión icorrect para Ex. su proyecto en Swift 1.2 e intenta compilarlo con xcode 7.3. En este caso, los datos del disco almacenan información para la versión rápida, pero cuando intenta compilar el código con el XCode correcto, genera un error. Para resolver esto

  1. Eliminar datos de la unidad
    a. En Xcode seleccione las preferencias

  1. Una vez que las preferencias están abiertas, haga clic en la pestaña Ubicación y haga clic en la flecha que se encuentra frente a la ruta de "Datos procesados". Se abrirá la carpeta de datos conducidos

  1. Salir de Xcode
  2. Eliminar todos los datos de la unidad.
  3. vuelva a abrir el proyecto en el error correcto de XCode ¡¡¡se solucionó !!!!!!

Esto me pasó a mí y tardé una hora en encontrarlo. En mi caso, escribí demasiado rápido y lo hice:

[seld method];

en lugar de:

[self method];

¡Seriamente! No sé por qué no entendió esto de una manera más reconocible. Pero, por supuesto, estaba buscando una clase llamada "seld".


Había sucedido esto en un equipo usando git. Uno de los miembros del equipo agregó una clase de una fuente externa pero no la copió en el directorio de repositorio. La versión local compiló bien pero la integración continua falló con este error.

Reimportar los archivos y agregarlos al directorio bajo control de versiones lo solucionó.


Haz una limpieza product > clean . La purga y el reinicio de la terminal no funcionaron para mí, la limpieza sí.


Lo que hay que considerar aquí es el archivo * .pch. Si está haciendo una inclusión desde una biblioteca externa, entonces debe asegurarse de estar haciendo el include después de #ifdef OBJC y antes de #endif. Si intenta hacer su inclusión fuera de esta condición, esto podría ser una causa del error del compilador.


Me enfrento a este problema también. Y por eso busqué ayuda en SO en lugar de usar el sentido común y verificar el mensaje de error.

La última parte del mensaje de error fue la misma que tú.

Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang failed with exit code 11

Pero pocas líneas arriba encontré:

In file included from /Users/Ricardo/Documents/XCode/RealEstate-Finder-v1.2/RealEstateFinder/RealEstateFinder/RealEstateFinder-Prefix.pch:26: /Users/Ricardo/Documents/XCode/RealEstate-Finder-v1.2/RealEstateFinder/RealEstateFinder/Config/Config.h:174:1: warning: type specifier missing, defaults to ''int'' [-Wimplicit-int] http://www.myserver.com/apps/mobile/rest.php?id=12

Lo que apunta a mi archivo Config.h

Feliz codificación!


Me pasó lo mismo y descubrí que olvidé poner "al final del

#import "CPDConstants.h

así que en vez

#import "CPDConstants.h"


Mi caso, lo soluciono por:

Ve a Build Fases y revisa los archivos de compilar fuentes , verifica si tiene un archivo duplicado , solo conserva uno.


Mi problema fue que en Build Fhases -> Compile Sources, agregué un indicador de compilación para un archivo, pero lo había escrito mal. Se supone que iba a ser:

-fno-obj-arc

para mostrar que este archivo no usa ARC.


Para mí, este error aparece después de clonar el proyecto desde un repositorio. Alguien eliminó un espacio en blanco del nombre de los proyectos (renombrado: "The Project" a "TheProject") que causó algunos errores de Build Settings de compilación en rutas no válidas.

A veces, leer todos los registros de errores no es una mala idea ...


Pruebe esto: haga clic en el nombre de su proyecto en la lista de archivos / carpetas a la izquierda en Xcode (en la parte superior de la lista). Mire la sección "Objetivos" en el lado izquierdo de la ventana a la derecha. Probablemente, hay dos enumerados, y el segundo es un elemento de "prueba". Haga clic derecho en ese elemento y seleccione "eliminar". Luego intente ejecutar el proyecto nuevamente.


Puede ser útil para alguien: tuve el mismo error después de eliminar varios archivos del proyecto. Después de tener las eliminaciones confirmadas en el repositorio de git, este error se ha ido ...


Tuve el mismo error y nadie parece tener una respuesta en que realmente funcione. Mi problema fue cuando intenté copiar un proyecto que estaba en un repositorio de equipo. Resulta que, en el archivo de ignorar, todos los archivos con la extensión de *.pch fueron ignorados de las confirmaciones del repositorio. Esto significa que cuando fui a sacar el proyecto del repositorio, .pch archivo .pch , arrojando así este error.

Afortunadamente, todavía tenía una copia del proyecto y solo pude copiar el archivo .pch y luego pude compilar muy bien.

¿Espero que esto ayude?


Vaya a las preferencias de destino, pestaña de resumen, encuentre "Objetivo de despliegue" y auméntelo.


Yo también tuve este error. Pero en mi caso, y estoy seguro de que estaré aquí, accidentalmente borré main.m cuando presioné la tecla de borrar después de que la aplicación se colgara en el simulador de iPhone.

Después de un bloqueo, Xcode muestra el archivo main.m y cuando presioné eliminar, accidentalmente borré el archivo main.m de mi proyecto, ya que es fácil de hacer cuando se resalta un nombre de archivo, no el código en el detalle ver.

Main.m normalmente reside en un grupo o carpeta llamada archivos de apoyo en el administrador de archivos del proyecto. No me había dado cuenta de que esto sucedió hasta que no se pudo compilar y ejecutar la próxima vez y luego tuve que volver a leer el mensaje de error más de cerca y vi que decía main.m no se encuentra.

Gracias a todos por su aporte, pero por si acaso hay alguien en mi posición, compruebe que los nombres de archivo en rojo muestren los archivos que faltan y restáurelos de una copia de seguridad si los tiene.


borrar ~/Library/Developer/Xcode/DerivedData me ayudó.

referencia: link


Xcode 8

La answer @ Spoek es correcta,

Pero si no encuentra el archivo en color rojo , busque el que tenga poca opacidad,

mira esta imagen,

El primero está allí, pero el segundo es nota, así que elimínalo.