4

まず、私は自社アプリを開発しているので、App Store での承認は必要ありません。受け入れられないことはわかっていますが、ユーザーがアプリケーションの一部のコンテンツを共有するのはビジネスルールですが、デフォルトのメッセージと件名を使用するため、これらのフィールドを編集することはできません..

iOS 5 までは、ビュー階層をナビゲートして、フィールドを編集不可にすることができました。しかし、iOS 6 と別のプロセスでのメールでは、もうできません。編集のためにビューをブロックする必要があります (タイトル バーを除くすべてのメール ビューにビューを配置し、機能しますが、ユーザーが電子メールをキャンセルしようとすると、ビューがポップオーバーの削除または保存をブロックします下書きも)またはUIなしで電子メールを送信します(iOS 4または5でStealth Messengerベースのコード(https://github.com/0xced/Stealth-Messenger/)でそれを行うことができましたが、現在はそうではありません'動作しません)。

プライベート API と Objective-C ランタイムでできる限りのことを試しました。電子メールを送信してビューを閉じることはできますが、電子メール自体は送信されません。

誰でも私を助けることができますか?誰かやった?

前もって感謝します..

4

2 に答える 2

4

これを見てください: iOS からバックグラウンドでメールを送信する

IOS は、バックグラウンドでのメール送信をサポートしていません。[...] 代わりに、これのために WebService を実装する必要があります[...]

おそらく最良の選択肢は、何らかのサーバー コードを利用し、NSURLRequest でそれを呼び出すことです。

それが役立つことを願っています。

于 2012-10-01T16:15:16.337 に答える
0

私は自分のアプリでこれを行います。PearPHP メール モジュールを使用して SMTP メールを送信する単純な PHP スクリプトが Web サーバー上にあります。PHP スクリプトは、$toAddress、$subject、$message などのいくつかの受信変数を受け取り、SMTP サーバーに接続してメールを送信します。

残念ながら、MFMailComposeViewController をサブクラス化することは許可されていません。フィールドをブロックするためにある種の非表示 UIView を使用していた場合、それはおそらく壊れている回避策にすぎません。(NumberPad キーボードで "." を挿入できるようにして、同じことを行いました)

于 2012-10-01T17:00:37.970 に答える