まず、XCode4.0.2を使用しています。
さて、これが私の問題です。 Apple MFMailComposerViewControllerのサンプルプログラムをビルドして、シミュレーターで実行できます(メールが送信されないことはわかっていますが、ビルドされるのではないかと心配しています)。これで問題ないようです。
ただし、アプリケーションをビルドしようとすると、次のメッセージが表示されます。
ld: warning: ignoring file /Users/lloyd/Projects/iOS/simpleApp/MessageUI.framework/MessageUI,
missing required architecture i386 in file
Undefined symbols for architecture i386: "_OBJC_CLASS_$_MFMailComposeViewController", referenced from:
objc-class-ref in MailData.o
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status
[〜#〜]ソリューション[〜#〜]
「ビルド設定」(基本および組み合わせ)を見ると、「フレームワーク検索パス」が設定されていることがわかりました。これを設定したことを覚えていなかったので、これは奇妙でした。それを削除すると問題が修正されました。
これで、シミュレーターとターゲットの両方をビルドできるようになりました。注:シミュレーターからメールを送信することはできませんが、コードを実行できるはずです(それが理にかなっている場合)。
[〜#〜]ソリューション[〜#〜]
「ビルド設定」(基本および組み合わせ)を見ると、「フレームワーク検索パス」が設定されていることがわかりました。これを設定したことを覚えていなかったので、これは奇妙でした。それを削除すると問題が修正されました。
これで、シミュレーターとターゲットの両方をビルドできるようになりました。注:シミュレーターからメールを送信することはできませんが、コードを実行できるはずです(それが理にかなっている場合)。
これが私の問題の解決策でした:)
Xcodeで、ターゲットのビルドフェーズタブに移動します。 MessageUI.frameworkが表示されていることを確認してください。ない場合は、[+]をクリックして新しいフレームワークを追加します。
追加 MessageUI.framework ドキュメントには必須ではないと書かれていますが、.
MessageUI.frameworkをプロジェクトのリンクされたフレームワークとライブラリに追加します