errores en el envío de correo electrónico en el iPhone

Estoy tratando de crear una aplicación que envíe correos electrónicos. Usé clases como SKPSMTPMessage, NSStream+SKPSMTPExtensions, NSData+Base64Additions, HSK_CFUtilities, Base64Transcoder pero me da los siguientes errores

Undefined symbols for architecture i386:
"_OBJC_CLASS_$_SKPSMTPMessage", referenced from:
  objc-class-ref in MFViewController.o
"_kSKPSMTPPartContentTransferEncodingKey", referenced from:
  -[MFViewController sendMail:] in MFViewController.o
"_kSKPSMTPPartContentTypeKey", referenced from:
  -[MFViewController sendMail:] in MFViewController.o
"_kSKPSMTPPartMessageKey", referenced from:
  -[MFViewController sendMail:] in MFViewController.o
"_CFHostCreateWithName", referenced from:
  +[NSStream(SKPSMTPExtensions) getStreamsToHostNamed:port:inputStream:outputStream:] in    NSStream+SKPSMTPExtensions.o
  +[NSStream(SKPSMTPExtensions) getStreamsToHostNamed:port:inputStream:outputStream:] in  SKPSMTPMessage.o
"_CFStreamCreatePairWithSocketToCFHost", referenced from:
  +[NSStream(SKPSMTPExtensions) getStreamsToHostNamed:port:inputStream:outputStream:] in NSStream+SKPSMTPExtensions.o
  +[NSStream(SKPSMTPExtensions) getStreamsToHostNamed:port:inputStream:outputStream:] in SKPSMTPMessage.o
 ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

tenga en cuenta que estoy usando Xcode 4.3, ¿qué debo hacer para resolver esto?

Después de agregar el marco CFNetwork y el marco SystemConfiguration, la cantidad de errores disminuyó de 6 a 4 y ahora es

Undefined symbols for architecture i386:
"_OBJC_CLASS_$_SKPSMTPMessage", referenced from:
  objc-class-ref in MFViewController.o
"_kSKPSMTPPartContentTransferEncodingKey", referenced from:
  -[MFViewController sendMail:] in MFViewController.o
"_kSKPSMTPPartContentTypeKey", referenced from:
  -[MFViewController sendMail:] in MFViewController.o
"_kSKPSMTPPartMessageKey", referenced from:
  -[MFViewController sendMail:] in MFViewController.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

preguntado el 03 de mayo de 12 a las 18:05

¿Incluyó archivos .m en su destino? -

¿Puedes decirme cómo hacer esto, por favor, soy nuevo en iPhone?

¿Es MFViewController una clase creada por usted? -

No, es el controlador de vista que viene al crear la nueva aplicación, pero agregué métodos para enviar correos electrónicos:

2 Respuestas

Este mensaje de error significa que esas clases buscan algunos objetos en un marco que no ha vinculado a su proyecto. Aquí puede encontrar qué marco necesita: el marco CFNetwork.

¡Espero que ayude!

EDITAR

Los otros 4 errores pueden deberse a la importación incorrecta de las clases SKPSMT. Si esas clases se descargan como una biblioteca, también deberá vincular su aplicación con esa biblioteca.

contestado el 03 de mayo de 12 a las 22:05

Gracias por su respuesta, agregué los marcos CFNetwork & SystemConfiguration, la cantidad de errores disminuyó de 6 a 4, mire la edición de mi pregunta: Eman87

Buscaré al respecto, pero no estoy seguro de por qué aparece este error. En mi opinión, podría necesitar una biblioteca u otro marco. - Garoal

de todos modos, mi objetivo es crear una aplicación para enviar correo con una vista personalizada: Eman87

¿Puede decirme si las clases SKPSMT están envueltas dentro de una biblioteca estática (archivo .a)? - Garoal

Intente agregar las siguientes banderas del enlazador:

OTHER_LDFLAGS = -lz -lxml2 -ltidy -ObjC

Respondido 13 Jul 12, 10:07

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.