Error de conexión Apple Mach-O al comstackr para dispositivo

Acabo de actualizar a xcode 4.0 y ya no puedo implementarlo en el iPhone. Obtengo un error de Apple Mach-O Linker, pero aún funciona para el simulador.

Ld /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Intermediates/iParcel.build/Debug-iphoneos/iParcel.build/Objects-normal/armv7/iParcel normal armv7 cd /Users/yveswheeler/iParcel setenv IPHONEOS_DEPLOYMENT_TARGET 3.2 setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin" /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/g++-4.2 -arch armv7 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk -L/Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos -F/Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos -filelist /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Intermediates/iParcel.build/Debug-iphoneos/iParcel.build/Objects-normal/armv7/iParcel.LinkFileList -dead_strip -all_load -ObjC -lxml2 -miphoneos-version-min=3.2 -framework UIKit -framework CoreGraphics -framework QuartzCore /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20.a /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20Core.a /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20Network.a /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20Style.a /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20UI.a /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20UICommon.a /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20UINavigator.a -framework AddressBook -lz.1.2.3 -framework Foundation -framework CFNetwork -framework MobileCoreServices -framework SystemConfiguration -framework MessageUI -framework AudioToolbox -o /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Intermediates/iParcel.build/Debug-iphoneos/iParcel.build/Objects-normal/armv7/iParcel arm-apple-darwin10-g++-4.2.1: /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20.a: No such file or directory arm-apple-darwin10-g++-4.2.1: /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20Core.a: No such file or directory arm-apple-darwin10-g++-4.2.1: /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20Network.a: No such file or directory arm-apple-darwin10-g++-4.2.1: /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20Style.a: No such file or directory arm-apple-darwin10-g++-4.2.1: /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20UI.a: No such file or directory arm-apple-darwin10-g++-4.2.1: /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20UICommon.a: No such file or directory arm-apple-darwin10-g++-4.2.1: /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20UINavigator.a: No such file or directory Command /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/g++-4.2 failed with exit code 1 

Aquí hay una solución permanente. Generalmente, sobrescribir el proyecto puede causar este prolema. Pruebe este método.

-UPDATE – Error de Clang – Error de Mach-O Linker

En algunos casos, la ventana de registro de errores muestra el error .xctest, para solucionarlo

-> Seleccione su proyecto

-> Al lado de esto (justo antes de la pestaña General) seleccione su archivo de prueba de proyecto del menú desplegable

-> Hay una opción (como ProjNameTests)

-> En la aplicación de host, seleccione su proyecto del menú desplegable solo si muestra un diseño personalizado

¡HECHO!

enter image description here

Método antiguo eliminado

Tuve el mismo problema y el problema fue que accidentalmente importé un archivo .m en lugar de .h en un archivo de implementación. Espero que ayude.

Solo encontré el mismo problema.

La solución (para mí) = verifica tus marcos.

En mi caso, había agregado clases relacionadas con CoreData sin “CoreData.framework”. Al agregarlo resolvió el MACH_O quejándose.

abra el archivo .xcworkspace no .xcodeproj. Repito abrir el archivo .xcworkspace. Todos tus errores desaparecerán

Re: problema como se indica en el título:

Solo en caso de que alguien más se perdiera lo obvio …

Me encontré con este error después de instalar una nueva versión de Xcode4 y arrastrar archivos existentes a un nuevo proyecto. No me di cuenta de que la checkbox ‘Agregar a destinos’ no se había marcado en el cuadro de diálogo ‘Elegir opciones para agregar archivos’. Corregir mi omisión en Objetivos> Fases de comstackción> Comstackr fonts resolvió el problema.

Menú> Producto> Limpiar, esto es lo que lo hizo funcionar. No estoy seguro de todos los demás. Agregué una foto para mostrar.

enter image description here

Error extraño Para mí, acabo de limpiar y reiniciar Xcode y el problema desapareció.

Solución: Configuración de comstackción> Habilitar código de bit> No enter image description here

El problema era que en XCode 4, las dependencias no asumían la configuración de architecture del proyecto principal, como lo hacían anteriormente en XCode 3. Tuve que pasar por todas mis dependencias configurándolas para la architecture correcta.

Ninguna de estas respuestas me ayudó. Luego intenté reinstalar Cocoapods:

 pod deintegrate pod install 

¡Problema resuelto!

Tuve lo mismo y logré resolverlo.

En las preferencias de xcode , la pestaña de ubicación cambia el valor en la ubicación de comstackción a ” Place build products in locations specified by targets" .

Luché con esto por un tiempo, y en mi caso terminó siendo la configuración de comstackción en las rutas de búsqueda llamada FRAMEWORK_SEARCH_PATHS. Me ayudó que seleccioné el botón “Niveles”, que parecía comparar mi proyecto, el objective y la configuración “Resuelta”. Vi que mi configuración de destino anulaba de alguna manera el valor predeterminado de “$ (heredado)”, y el valor reemplazado era lo que XCode “resolvió” la configuración. Cuando eliminé la anulación, que en este caso especificaba la sdk 3.2, los errores del enlazador desaparecieron, al igual que algunas advertencias recientes sobre las clases en las que llamé a los métodos posteriores a 4.0.

Acerca de esas advertencias: nunca las vi antes de agregar el marco de MessageUI para un cambio reciente. Sospecho, pero no estoy seguro, que cuando agregué ese marco, XCode intentó hacer algo inteligente al agregar esa anulación a mi objective. No lo hice explícitamente en ningún momento. Las advertencias eran, por ejemplo, sobre el método URLByAppendingPathComponent de NSURL, que no apareció hasta sdk 4.0. Antes de agregar el marco MessageUI, nunca recibí esa advertencia. Y como eliminé la anulación, ya no los obtengo.

Tuve este problema y la importación de QuartzCore solucionó.

Cambiando “Construir architectures activas solamente” a Sí en CordovaLib.xcodeproj -> Configuraciones de comstackción funcionó para mí. anteriormente la aplicación se estaba ejecutando en el simulador, pero no en el dispositivo.

Es posible que deba actualizar su configuración de comstackción.

Verifique la versión de destino de iOS y las architectures del procesador, ya que es posible que no tenga los SDK anteriores con XCode 4.

Puede ver «Falta SDK» en la configuración de comstackción. Cambia eso a lo que sea aplicable.

Tuve el mismo problema: simplemente eliminé accidentalmente un archivo .m, mientras que .h estaba en el proyecto. El problema desapareció cuando restauré el archivo .m.

Compruebe para asegurarse de que no tiene una ruta de búsqueda específica especificada. si va a la información en el destino y simplemente elimina las entradas de la ruta de búsqueda de marcos, debe usar los valores predeterminados para su versión de implementación especificada.

Intenté crear un archivo de category class y obtuve este extraño problema … y finalmente …

Forma incorrecta de crear una clase de categoría que causa el problema:

New File -> Cocoa Touch -> Objective-C class , luego modifiqué el nombre de los archivos a Category Class como name … (es decir, OriginalClass_CategoryName.h/m a OriginalClass+CategoryName.h/m , y también modifiqué los contenidos en el archivo).

De la manera correcta aquí:

New File -> Cocoa Touch -> Objective-C category , y generará automáticamente archivos ( OriginalClass+CategoryName.h/m ).

¡Oh, qué estúpido soy!

Si está utilizando CoreData y usa XCode para generar subclases NSManagedObject para sus entidades, asegúrese de generar solo una para cada entidad.

Mi problema fue que generó varias subclases NSManagedObject para la misma entidad (y las puso en diferentes carpetas).

Acabo de eliminar todos ellos y regeneré las subclases NSManagedObject.

Para agregar a la lista de cosas raras que arreglaron este problema …

Tenía algunas variables CGFloat const en un archivo de cabecera global como

 const NSInteger globalInteger1 = 2; const NSInteger globalInteger2 = 3; 

En el momento en que los quité, todo estaba bien 🙂

Tenía exactamente el mismo problema solo porque tenía dos constantes iguales en diferentes clases. También puede tener este problema si importa el archivo .m no el archivo .h

No estoy seguro de si está relacionado, pero dado que está ejecutando unas tres20 bibliotecas, le recomendamos que consulte esta publicación en su sitio web: http://three20.info/article/2011-03-10-Xcode4-Support

Tuve el mismo problema, y ​​lo resolví. En mi caso, la configuración de “architectures” causó el problema. En mi archivo de proyecto, pestaña Configuración de comstackción, las architectures se establecieron en armv6. Lo cambié a Standard (armv7), limpio y compilé. ¡Entonces funcionó!

En mi caso, el problema consistía en tener diferentes architectures especificadas en diferentes objectives. Estaba construyendo mi objective de aplicación con armv6, armv7 y cocos2d con Standard (amrv7). Vaya a la configuración de comstackción y asegúrese de que sus architectures estén de acuerdo con todos los objectives.

¡Resolví este problema demasiado raro!

Vaya a Destino > Fases de comstackción> Enlace binario con bibliotecas :

¡Elimine todos sus marcos y agréguelos nuevamente!

Espero que funcione para ti !

Para el lenguaje Swift …

Recibo este error “ld: archivo demasiado pequeño (longitud = 0) …”

En mi caso, solo limpio el proyecto y luego lo reconstruyo ..

Pasos:-

1) goto Project -> Clean

2) goto Project -> Build

Espero que esto ayude..

Esto hizo un truco para mí:

Ir

1) Productos> limpio

2) Windows> Proyectos

3) Seleccione su proyecto y haga clic en ” EliminarDatos derivados

4) Productos> Construir

Una posibilidad: activar “Eliminación de código muerto” en la configuración de comstackción de Xcode 4.

Otra posibilidad: podría ser que cambiaras a usar LLVM para un framework que previamente usaba GCC. Volver a GCC (o LLVM GCC) puede deshacerse de esas advertencias.

Definí por error una nueva constante con el mismo nombre que una constante existente en un archivo diferente y me causó este error al usar el código x 4.3. xCode no se quejó pero al comstackdor no le gusta.

Pude solucionar este error editando “Rutas de búsqueda de bibliotecas”

Primero surgió porque había movido un par de carpetas, y eso terminó por darle a mi configuración de comstackción dos rutas de búsqueda diferentes porque se agregan automáticamente a la configuración de comstackción cuando vincula una biblioteca / marco, pero no son siempre eliminado.

Por lo tanto, si mueve una biblioteca / marco enlazado a un directorio diferente y lo vuelve a vincular, deberá editar manualmente la ruta de búsqueda.

Es posible que pueda evitar esto al eliminar la biblioteca / marco antes de moverlo, pero no lo he probado.