0

SKPSMTPMessage 、 NSStream+SKPSMTPExtensions、NSData+Base64Additions、HSK_CFUtilities、Base64Transcoder などのクラスを使用した電子メールを送信するアプリケーションを作成しようとしていますが、次のエラーが表示されます

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)

私は Xcode 4.3 を使用していることに注意してください。これを解決するにはどうすればよいですか??

CFNetwork フレームワークと SystemConfiguration フレームワークを追加した後、エラーの数は 6 から 4 に減少し、現在は

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)
4

2 に答える 2

0

次のリンカー フラグを追加してみてください。

OTHER_LDFLAGS = -lz -lxml2 -ltidy -ObjC
于 2012-07-13T09:14:55.373 に答える
0

このエラー メッセージは、これらのクラスが、プロジェクトにリンクしていないフレームワーク内のオブジェクトを検索することを意味します。ここで、必要なフレームワークを見つけることができます: CFNetwork フレームワーク。

それが役立つことを願っています!

編集

他の 4 つのエラーは、SKPSMT クラスの不適切なインポートが原因である可能性があります。そのクラスがライブラリとしてダウンロードされる場合は、アプリをそのライブラリにリンクする必要もあります。

于 2012-05-03T18:22:02.967 に答える