objective-c - 无法获取SMTP代码进行编译

标签 objective-c ios smtp

我正在尝试编写一个iOS应用程序,该应用程序在后台发送电子邮件而无需任何用户交互。我已经在互联网上浏览了数天,试图找到一个简单的解决方案,但是我发现的所有内容确实很旧,无法编译。当前,我要使用的库是:https://github.com/kailoa/iphone-smtp。但是,我无法编译它。

我要做的是将类文件拖到我的项目中,并将所有新类设置为不使用ARC。但是,我不断收到以下错误:

Ld /Users/Andrew/Library/Developer/Xcode/DerivedData/EmailTest2-gpzibaprekjgiheqoazurfdwapxp/Build/Products/Debug-iphonesimulator/EmailTest2.app/EmailTest2 normal i386
    cd /Users/Andrew/Desktop/EmailTest2
    setenv IPHONEOS_DEPLOYMENT_TARGET 6.0
    setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.0.sdk -L/Users/Andrew/Library/Developer/Xcode/DerivedData/EmailTest2-gpzibaprekjgiheqoazurfdwapxp/Build/Products/Debug-iphonesimulator -F/Users/Andrew/Library/Developer/Xcode/DerivedData/EmailTest2-gpzibaprekjgiheqoazurfdwapxp/Build/Products/Debug-iphonesimulator -filelist /Users/Andrew/Library/Developer/Xcode/DerivedData/EmailTest2-gpzibaprekjgiheqoazurfdwapxp/Build/Intermediates/EmailTest2.build/Debug-iphonesimulator/EmailTest2.build/Objects-normal/i386/EmailTest2.LinkFileList -Xlinker -objc_abi_version -Xlinker 2 -fobjc-arc -fobjc-link-runtime -Xlinker -no_implicit_dylibs -mios-simulator-version-min=6.0 -framework UIKit -framework Foundation -framework CoreGraphics -o /Users/Andrew/Library/Developer/Xcode/DerivedData/EmailTest2-gpzibaprekjgiheqoazurfdwapxp/Build/Products/Debug-iphonesimulator/EmailTest2.app/EmailTest2


Undefined symbols for architecture i386:
  "_CFHostCreateWithName", referenced from:
      +[NSStream(SKPSMTPExtensions) getStreamsToHostNamed:port:inputStream:outputStream:] in NSStream+SKPSMTPExtensions.o
  "_CFStreamCreatePairWithSocketToCFHost", referenced from:
      +[NSStream(SKPSMTPExtensions) getStreamsToHostNamed:port:inputStream:outputStream:] in NSStream+SKPSMTPExtensions.o
  "_kCFStreamPropertySSLSettings", referenced from:
      -[SKPSMTPMessage parseBuffer] in SKPSMTPMessage.o
  "_kCFStreamSSLAllowsAnyRoot", referenced from:
      -[SKPSMTPMessage parseBuffer] in SKPSMTPMessage.o
  "_kCFStreamSSLAllowsExpiredCertificates", referenced from:
      -[SKPSMTPMessage parseBuffer] in SKPSMTPMessage.o
  "_kCFStreamSSLAllowsExpiredRoots", referenced from:
      -[SKPSMTPMessage parseBuffer] in SKPSMTPMessage.o
  "_kCFStreamSSLLevel", referenced from:
      -[SKPSMTPMessage parseBuffer] in SKPSMTPMessage.o
  "_kCFStreamSSLValidatesCertificateChain", referenced from:
      -[SKPSMTPMessage parseBuffer] 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)

还有一个buildstaticlib.sh文件。但是,当我尝试使用./buildstaticlib.sh命令或它的任何变体运行它时,它给了我这个错误:
Usage: ./buildstaticlib.sh PATH where PATH is the destination directory for the build package
如果您知道如何使用其他库在后台发送电子邮件,我将非常乐意进行切换。但是,我需要帮助来使该库也运行。我尝试了至少6个不同的库,但似乎都无法取得任何进展。谢谢!

最佳答案

您可能忘了添加框架。确保将所有导入的框架添加到您的项目中,并由目标链接到该框架。

如果打开示例项目,您将看到使用了哪些框架:

关于objective-c - 无法获取SMTP代码进行编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12664009/

相关文章:

ios - 在 Ionic for ios 中接收 URL

amazon-web-services - 类似于amazon ses的google smtp服务是什么,是gmail smtp吗?

ios - 将 subview 添加到 xib 文件

android - 如果使用应用程序的人决定退出而不回答问题,是否有任何方法可以自动锁定设备

ios - Sprite Kit 中的碰撞检测

ios:使 ScrollView 出现在 Nib 上的项目下方

email - 同一服务器上的多个 SMTP session

javascript - 我可以使用 javascript 发送电子邮件吗

ios - 我的程序不断崩溃,我不明白为什么

objective-c - 将一个目录的内容移动到另一个目录(iOS)