0

「Glympse」という名前のアプリケーションを見たことがあります。このアプリケーションでは、SMS は iPhone では不可能なユーザーの操作なしで送信されます。「Glympse」アプリケーションが mfmessagecontroller を呼び出していることをデバイス ログに示しています。

Jul 10 16:24:13 unknown Glympse[3004] <Warning>: GlympseAppDelegate::sendViaSMSWithMessage:toRecipient:withDelegate:
Jul 10 16:24:13 unknown Glympse[3004] <Warning>: 0
Jul 10 16:24:13 unknown Glympse[3004] <Warning>: presentModalViewController
Jul 10 16:24:14 unknown Glympse[3004] <Warning>: messageComposeViewController:didFinishWithResult:
Jul 10 16:24:14 unknown CommCenter[57] <Notice>: queuing sms message with id 584
Jul 10 16:24:14 unknown SpringBoard[52] <Error>: mms: queued messageId 584

私のアプリケーションでもそれが必要なので、どのように実装しますか?

前もって感謝します。

4

4 に答える 4

8

MFMessageComposerViewControllerユーザーの操作なしで送信することはできません。

SMS ゲートウェイを使用して、SMS を送信する独自​​の方法を実装する必要があります。それが可能なだけではありません。同様に、Web サービスを作成し、iPhone から電話番号やメッセージなどのパラメーターを受け入れ、SMS ゲートウェイを使用して SMS を送信する必要があります。

お役に立てれば。

于 2012-07-10T10:21:05.593 に答える
2

Glympse は SMS を送信せず、サーバーに Web リクエストを送信します。サーバーには SMS エンジンがあり、リクエストのパラメーターに応じて SMS を送信します。そうでなければ、この機能を達成することは不可能です。

于 2012-07-10T10:25:04.077 に答える
1

更新: 以下の回答は、iOS 5.1 以前にのみ関連します。どうやら Apple は iOS 6 でこの動作が機能しないようにしているようで、実際 Glympse はユーザー インタラクションでテキストを送信するという以前の戦略に戻っています。

Glympse で遊ぶと、ios が質問で説明している動作が確認されます。Glympse は、デバイスから直接テキストを送信できない場合、独自のサーバーを使用して SMS メッセージを生成しますが、機能がある場合は (iMessage または SMS を使用して) デバイスからテキストを直接送信します。これを確認するには、リクエストを送信し、結果のテキスト メッセージがメッセージ履歴に表示されることを確認します。

ユーザーの操作が必要なようMFMessageComposeViewControllerに見えますが、Glympse が残したログ メッセージは、Glympse を使用して UI を抑制していることを強く示唆しています。私が実験したところ、同じように動作することを行うのはそれほど難しくないことがわかりました: 単純に MFMessageComposeViewController のビューを置き換え (UI を表示しないようにするため)、呼び出しpresentViewControllerた後、コントローラーが起動した後に発生するようにタイマー イベントを設定しました。そして走っています。タイマーイベントはsend:、ユーザーが「送信」ボタンをクリックすることをシミュレートするメッセージをコントローラーに送信しました。

私が答えられないのは、これが iOS Developer Program License Agreement の条件に従っているかどうかです。「文書化された API を Apple によって規定された方法で使用する」(3.3.1) または一般的な「干渉しない」に抵触する可能性があります。 Apple がユーザーに提供しようとする警告付き」(3.3.14)。Glympse は、ユーザーの利益のためにこの動作を利用しています。ユーザー エクスペリエンスを非常に明確に改善し、ユーザーの認識/同意なしにメッセージを送信することを回避します。私もその振る舞いを利用したいと思います。しかし、この振る舞いが疑わしいアプリによって、ユーザーになりすましたり、スパムを送信したりするために使用される可能性があることもわかります。これが一般的な慣行になると、Apple はこの振る舞いを探し始め、それを使用するアプリを拒否し始める可能性があります (おそらく Glympse でさえ、行動を引き出します)。

于 2012-09-18T19:06:31.417 に答える
0

これを行う方法がここにあることがわかりました:https://github.com/0xced/Stealth-Messenger

しかし、開発者は次のように明確に言うことができます。

使用禁止!これは教育目的のみであり、App Store にはまったく適していません。

底に。ただし、「教育目的」でのみ、これをチェックできます。

于 2015-05-25T13:00:49.693 に答える