2012-10-04 25 views
15

Quiero añadir RevMob poner en mi aplicación, pero hay algunos erroreserror de generación, mientras que añadir revmob anuncio en iOS

Undefined symbols for architecture i386: 
"_OBJC_CLASS_$_SKStoreProductViewController", referenced from: 
    objc-class-ref in RevMobAds(RevMobStoreController.o) 
"_SKStoreProductParameterITunesItemIdentifier", referenced from: 
    -[RevMobStoreController openStoreWithITunesItemId:] in RevMobAds(RevMobStoreController.o) 
ld: symbol(s) not found for architecture i386 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

he añadido StoreKit, SystemConfiguration y RevMob Marcos ya. Estoy usando Xcode4.3 y ios4.2 Por favor, ayúdenme. Gracias de antemano.

Respuesta

39

Es necesario añadir el marco StoreKit

EDIT: Ahora veo lo que quieres decir, hubo un problema con las versiones anteriores, que estoy añadiendo un enlace a un marco editado para resolver ese problema: Edited Revmob Framework

+0

gracias XIII ahora no tienen ningún error – Arpi

+0

Usted es bienvenido, por favor marque la respuesta como correcta pulsando la marca de verificación a la izquierda, esta es la única forma en que la gente sabrá la respuesta útil entre otras. – XIII

0

Cuando suelte los archivos manualmente en xcode los archivos no se copian en Bundle. Entonces "SKStoreProductViewController.m" fue el archivo no copiado en el paquete por lo que se produjo el error. Para resolver el error Arrastre los archivos solo .m a Copy Bundle Resource como se muestra en la imagen enter image description here

+0

pero no tienen ningún archivo "SKStoreProductViewController.m". Este error ocurre cuando codigo RevMob y agrego los marcos mencionados anteriormente. – Arpi

+0

En Copy Bundle Resources encontraste algún archivo de color rojo si es que ese archivo falta en tu aplicación. El error que ha especificado significa que su aplicación le faltaba el archivo – Sumanth

+0

No hay ningún archivo de color rojo en el paquete de recursos – Arpi

0

¡Lanzan una nueva versión del SDK (4.6.0) que funciona perfectamente en versiones antiguas de Xcode!

2

Parece que el sdk de anuncios que tiene ahora no incluye soporte para su uso con el simulador.

- [RevMobStoreController openStoreWithITunesItemId:] en RevMobAds (RevMobStoreController.o) ld: símbolo (s) no encontrado para la arquitectura i386

si se obtiene cualquier cosa que mencione "no encontrado para la arquitectura" medios revmob no incluyó clases para correr en el simulador. Tienes 2 opciones. busque una biblioteca faltante ".a file" o solo compile para probar en un dispositivo.

He tenido un problema con el nuevo ios6, donde revmob no era compatible con la nueva arquitectura de iphone 5 armv7s.

doble comprobar su instalación revmob o tratar de compilar a su teléfono en lugar del simulador de

0

Este error también puede ocurrir si ha quitado un archivo de su proyecto y, posteriormente, volver a crearlo. A veces, Xcode no lo vuelve a incluir automáticamente en el cuadro "compilar fuentes" (cuando haces clic en el objetivo). Marque la casilla y vea si todos sus archivos fuente están incluidos; si no, arrástrelos y vuelva a generarlos.

9

Debe enlazar con StoreKit.framework

0

Esto también ocurre con Appirater. Que estaba recibiendo este mensaje:

Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_SKStoreProductViewController", referenced from: objc-class-ref in Appirater.o "_SKStoreProductParameterITunesItemIdentifier", referenced from: +[Appirater rateApp] in Appirater.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

--- --- arreglar

  1. añadir StoreKit.framwork en -> BuildPhases
  2. ---> Underwriters bibliotecas de enlace con Bibliotecas
  3. Si tiene más de un objetivo, es posible que necesite agregar el StoreKit.framwork a ambos Objetivos.
0

me enfrentaba problema similar y después de una larga búsqueda y comprobación de código RevMob muestra, me encontré con esta solución, puede ser de ayuda a otros:

por debajo del objetivo del proyecto, seleccione configuración de generación, bajo despliegue, cheque iOS destino de despliegue de, cambie el valor a 'iOS 9.0' o superior.

Espero que esta ayuda.

Cuestiones relacionadas