昨日まで、SMS IOSインターフェイスを使用せずに、バックグラウンドSMSを送信することはできないと思っていました(多くの人がただし、今日、SmartSenderという新しいアプリをダウンロードしました。このアプリは、SMSをスケジュールして、自動的に送信します。
テストしたところ、SMSは実際にはバックグラウンドで送信されていませんが、ローカル通知が表示され、クリックしてアプリをフォアグラウンドにすると、SMS自動的に送信されます。
これはどのように達成できますか?
たぶんAppleインターフェースがあなたがしていることとあなたが送っているものについて非常に明確であるためにアプリを承認しました、しかしどのようにあなたはインターフェースを示さずにSMS ?
更新:スケジュールされたSMSは送信済みとして私の電話メッセージアプリに表示されるので、彼らがSMSを送信するために別のサービスを使用しているとは思わない、また受信者の電話はSMSは私の電話から送信されました。
更新2:OK私はこれを実行しているアプリを使用して監視しているので、IT ISデフォルトのインターフェイスを表示せずに可能です、これが実行できるかどうかは尋ねていません。使用していますすべてのインターネット接続がオフになっていて、メッセージがMY PHONEから送信されるため、メッセージアプリに表示されます。したがって、アプリはサードパーティのサービスを使用していません。
更新3:私は自分の答えを受け入れますが、実際には不可能です。しかし、それは質問が答えられたときでした。問題のアプリは、iOS 6では動作しないことを説明で指定しているので、Appleは、この機能を実現するために悪用される可能性のあるいくつかのバグにパッチを当てたと思います。
実際、それは不可能です。しかし、それは質問が答えられたときでした。
問題のアプリは、その説明でIOS 6では動作しないと指定しているので、Appleは、悪用される可能性のあるいくつかのバグにパッチを当てたと思いますこの機能を実現します。
アプリを試した後、SMSを表示せずに、プログラムでdoessend SMS =インターフェイス。メッセージは可能な場合はiMessageとして送信されるため、サードパーティのサービスでは明らかに発生しません。
他のすべての回答から、プログラムでSMSを送信するためのパブリックAPIがないことも明らかです。したがって、開発者はプライベートAPIを使用している必要がありますが、承認プロセスを通じてこのアプリをなんとかしてこっそりと使用している必要があります。
具体的には、彼はCoreTelephonyAPIを使用したようです。 SOに関するこの投稿 手順について説明します。どうやら、どこかでCoreTelephonyヘッダーファイルを手に入れる必要もあるようです。
SMSプログラムでバックグラウンドで送信することはできません。次のサードパーティAPIを使用してテキストメッセージ(SMS)を送信できます。
nexmo をお勧めします。使いやすく、国際的なメッセージもサポートしています。
私はiOS6とXCode4.5(執筆時点で最新)を使用して、iOSでのSMS送受信制限)を数日間調べてきました。このSmartSenderアプリケーションに興味があったので、購入しました。
IOS 6でしか試していなかったためかどうかはわかりませんが、標準のメッセージコントローラー(MFMessageComposeViewController)でメッセージを送信できます。遅延送信を試しました-所定の時間にメッセージコントローラーを取得し、手動で[送信]をクリックする必要があります。即時送信を試しました。コントローラーがポップアップし、手動で[送信]をクリックする必要があります。 [キャンセル]をクリックすると、アプリは実際にメッセージコントローラーにループバックします(アプリを強制終了しない限りキャンセルできません!)
確かに、これによりカスタムUIからメッセージを入力できますが、メッセージ自体がMFMessageComposeViewControllerにコピーされ、それがSMSを送信します。そのため、App Storeは承認しましたが、私たち全員が探しているものとはまったく異なります。
次を使用できます。
[[UIApplication sharedApplication] openURL: @"sms:+3912345678"];
シミュレーターでは動作しません...そしてプログラムでSMSを送信することはできません!
IOS <6でテスト済み。
プログラムでSMSを送信する方法はありません。TwilioのようにSMSを送信するために、サードパーティのサービスサービスを調査することをお勧めします。