1

ユーザーの操作なしでバックグラウンドで電子メールを送信する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つの異なるライブラリを試しましたが、どれも進歩していないようです。ありがとう!

4

1 に答える 1

4

フレームワークを追加するのを忘れた可能性があります。インポートされたすべてのフレームワークがプロジェクトに追加され、ターゲットによってリンクされていることを確認してください。

サンプルプロジェクトを開くと、使用されているフレームワークが表示されます。

ここに画像の説明を入力してください

于 2012-09-30T18:52:59.580 に答える