1. ホーム
  2. アイオス

[解決済み】アーキテクチャ i386 で未定義のシンボル。_OBJC_CLASS_$_SKPSMTPMessage" 参照元:エラー

2022-04-03 20:05:37

質問

アプリケーションからバックグラウンドでメールを送信するためのフレームワークをインポートしています。 SKPSMTPMessage フレームワークです。なぜ以下のエラーが表示されるのか、誰か教えてください。

Undefined symbols for architecture i386:

"_OBJC_CLASS_$_SKPSMTPMessage", referenced from:
  objc-class-ref in ConfirmController.o

"_kSKPSMTPPartContentTransferEncodingKey", referenced from:
  -[ConfirmController sendEmail] in ConfirmController.o

"_kSKPSMTPPartMessageKey", referenced from:
  -[ConfirmController sendEmail] in ConfirmController.o

"_kSKPSMTPPartContentTypeKey", referenced from:
  -[ConfirmController sendEmail] in ConfirmController.o

ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status

フレームワークのソース:-)

MFMailComposeViewControllerのフィールドをロックする

更新 :

Answer:フォルダをプロジェクトの上にドラッグ&ドロップして、コピーをクリックするだけです。 その際、プロジェクトのチェックボックスとターゲットのチェックボックスを選択します。

解決方法を教えてください。

クラスの .m ファイルがターゲットの "Build Phases" タブの "Compile Sources" ステップにリストされていない場合、このタイプのエラーが発生する可能性があります。通常、Xcodeはあなたのためにこれを行いますが、時々、プロットを失い、手動で.mファイルを追加する必要があります。

これを行うには

TargetSettings -> Build Phases -> Compile Sources -> add your .m class ->ビルドして実行します。