2017-03-09 28 views
1

は、Xcodeの8.2.1で、私はそうのような画面のメールを構成を示すコードがあります。フレームワーク参照なしでMessageUIを使用できるのはなぜですか?上記のiOS 9.2とをターゲットに私スウィフト2プロジェクトで

if MFMailComposeViewController.canSendMail() { 

    let composeMailVC = MFMailComposeViewController() 
    composeMailVC.mailComposeDelegate = self 
    composeMailVC.setSubject("Test") 
    // etc 
} 

をもともと私は私の中MessageUI.frameworkへの参照を持っていましたフレームワークの参照を削除してプロジェクトをクリーンアップした後も、それは正常に構築され、私のデバイス上でコードを実行すると、メール作成ウィンドウが表示され、完全に機能しているように見えます。

私の.xcodeprojファイルの生テキストにMessageUI.frameworkへの明示的な参照がありません。また、私のObjective-Cブリッジヘッダーに何もありません。

Swiftは暗黙的なフレームワーク参照を行っていますが、MessageUI.frameworkがそのうちの1つであることを示すものは見つかりませんでした。

奇妙なことに私がMFMailComposeViewControllerの定義にジャンプすると、XCodeはMessageUIモジュールにそれを示します。

+0

swiftファイルの先頭に 'import MessageUI'文がありますか? – chengsam

+0

@chengsamはい、私は 'MFMailComposeViewController'を使うファイルの先頭に' import MessageUI'と '' Import Foundation''を持っています。 – Dai

+1

'import'ステートメントはあなたのために' MessageUI'フレームワークをリンクしました。詳細については、[this](http://stackoverflow.com/questions/30425371/linked-frameworks-and-libraries-in-swift-project)を参照してください。 – chengsam

答えて

0

コンパイラは、指定された前の方向にIEを自動的に追加しました。インポート。

関連する問題