ios - sesion - no puedo verificar mi id de apple
Advertencia del enlazador(id) de Apple Mach-O: compilaciĆ³n para MacOSX, pero enlace contra dylib creado para iOS (4)
A veces es más fácil depurar problemas de Xcode mirando el registro de compilación para las líneas de comando que está usando.
Si está compilando desde la línea de comandos, puede recibir ese mensaje si no especifica -miphoneos-version-min =
This compiles:
(where conftest.c just contains int main() {})
/Applications/Xcode5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch i386 --sysroot /Applications/Xcode5.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.0.sdk --sysroot /Applications/Xcode5.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.0.sdk -miphoneos-version-min=6.0 conftest.c
And this gives the error:
/Applications/Xcode5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch i386 --sysroot /Applications/Xcode5.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.0.sdk --sysroot /Applications/Xcode5.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.0.sdk conftest.c
ld: building for MacOSX, but linking against dylib built for iOS Simulator file ''/Applications/Xcode5.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.0.sdk/usr/lib/libSystem.dylib'' for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Comenzando desde algún punto en el pasado xCode 4 en quejarse de problemas con el enlazador:
ld: advertencia: compilación para MacOSX, pero enlace contra dylib creado para iOS: /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk/System/Library/Frameworks//CoreGraphics.framework/CoreGraphics
He comprobado todo, pero todavía nada sospechoso en la configuración y compila y ejecuta. Lo único que veo es barras dobles antes de CoreGraphics.framework, por qué no lo sé. Se intentó eliminar y agregar de nuevo la biblioteca en "Fases de compilación" que no sirvió de nada.
Este problema debe incluir una versión de marco incorrecta en Xcode. El proyecto está creado para Mac OS X, pero utiliza el marco de la versión de iOS.
Si está utilizando Carthage y está compilando una aplicación para Mac, busque en las Framework Search Paths
su proyecto, puede encontrar algo como $(PROJECT_DIR)/Carthage/Build/iOS
.
Eliminar eso solucionó mi problema.
Verifique sus Rutas de Búsqueda de Marco para su objetivo principal y su objetivo de prueba.
Tuve mucha mierda en la mía.
tenía un proyecto antiguo escrito en XCode 4 y recién comenzó a usar Unit Tests en XCode 5.
Aquí está el mínimo que tengo para hacer que mi proyecto de prueba se ejecute
Project Navigator > click on project at top >
Targets > Build Settings > Framework Search Paths
TARGET:my_project
$(inherited)
"$(SRCROOT)"
"$(SRCROOT)/my_project"
TEST:my_projectTests
"$(SDKROOT)/Developer/Library/Frameworks" <<XCTest.framework is here
"$(DEVELOPER_LIBRARY_DIR)/Frameworks"
"$(SRCROOT)/.."
"$(SRCROOT)" << Documents/my_project
"$(SRCROOT)/my_project" << Documents/my_project/my_project
where directory structure is
Documents/my_project
my_project.xcodeproj
/my_project
Nota: Si arrastra un framework a XCode. XCode 5 tiene el mal hábito de codificar el camino
/Users/gbxc/Documents/my_project
debiera ser
"$(SRCROOT)" << Documents/my_project
"$(SRCROOT)/my_project" << Documents/my_project/my_project
así que si moviste tu proyecto podrías tener problemas
La mejor manera de verificar qué es correcto es crear un nuevo proyecto de vista única que ejecute las pruebas.
Run the Test action
By default it fails but at least testing is running
then compare the Framework Search Paths.