質問: NSURL(string: "Subject=\(dateString)")! UIApplication.sharedApplication().openURL(myMailURL)//メアド UIApplication.sharedApplication().openURL(myMailSub)//件名 ``` シミュレーターやデバッグではエラーが起きないのですが、 実機で確認した場合、メーラーを呼び出したと同時に落ちてしまいます。 自分の予想では、件名が間違えていると思っており、Subjectがおかしいと思いました。 よろしければご教授下さい。 よろしくお願い致します。
回答: 2番目のURLはmailto:スキームになっていないのでメーラーは起動しません。1つにまとめて ``` NSURL(string: "mailto:1234@gmail.xxx?subject=(dateString)") ``` とする必要があります。また`dateString`にURLで利用できないスラッシュ等が含まれているのであれば ``` var escapedDateString = dateString.stringByAddingPercentEncodingWithAllowedCharacters(.URLHostAllowedCharacterSet()) ``` とエスケープするべきです。 しかし別の質問と合わせると宛先、タイトル、添付ファイルを指定してメールを送信したいという事でしょうか?でしたら`openURL:`では添付ファイルに対応していませんし、別の連携方法である`UIDocumentInteractionController`ではファイルを他のアプリで開くということしか指定できないのでMFMailComposeViewControllerを使用するのが良いと思います。