[解決済み] iOSでSwiftを使ってSMSを送信する
2023-05-14 02:08:14
質問
まず第一に、私はこれが重複していないことに本当に驚いています。なぜなら、Objective-Cでこれを解決するstackoverflowの質問は大量にありますが、Swiftを使った良い回答はまだ見たことがないからです。
私が探しているものは、与えられた電話番号にテキストメッセージの本文として任意の文字列を送信するSwiftのコードスニペットです。本質的に、私は次のようなものが欲しいです。 この のようなものが欲しいのですが、Objective-Cの代わりにSwiftで、Appleの公式ドキュメントからです。
Android ではほんの数行のコードでできるので、これはそれほど難しくないのではと想像しています。
編集: 私が探しているのは Swift のコードの 5~20 行です、これが広すぎるということには同意しません。Java (Android用) では、解決策はこのようになります。
package com.company.appname;
import android.app.Activity;
import android.telephony.SmsManager;
public class MainActivity extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
public static final mPhoneNumber = "1111111111";
public static final mMessage = "hello phone";
SmsManager.getDefault().sendTextMessage(mPhoneNumber, null, mMessage, null, null);
}
}
さて、これはアンドロイドの解決策で、たった11行です。Java は Swift よりもずっと冗長な傾向があるので、私が尋ねていることが "too broad" であるかどうかは疑わしいです。むしろ、私が Objective-C MessageComposer オブジェクトを使用する方法を知らない可能性が高く、私が上にリンクしたドキュメントは Swift の使用に関して不明瞭だからです。
どのように解決するのか?
あなたが本当に答えを得たかどうかはわかりません。私は同じような狩りにあって、この解決策に出会って、それを動作させることができました。
import UIKit
import MessageUI
class ViewController: UIViewController, MFMessageComposeViewControllerDelegate {
@IBOutlet weak var phoneNumber: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func sendText(sender: UIButton) {
if (MFMessageComposeViewController.canSendText()) {
let controller = MFMessageComposeViewController()
controller.body = "Message Body"
controller.recipients = [phoneNumber.text]
controller.messageComposeDelegate = self
self.presentViewController(controller, animated: true, completion: nil)
}
}
func messageComposeViewController(controller: MFMessageComposeViewController!, didFinishWithResult result: MessageComposeResult) {
//... handle sms screen actions
self.dismissViewControllerAnimated(true, completion: nil)
}
override func viewWillDisappear(animated: Bool) {
self.navigationController?.navigationBarHidden = false
}
}
関連
-
[解決済み] iOSまたはmacOSで、インターネット接続が有効かどうかを確認するにはどうすればよいですか?
-
[解決済み] SwiftからObjective-Cのコードを呼び出すにはどうしたらいいですか?
-
[解決済み] iOSのステータスバーの文字色を変更する方法
-
[解決済み] Swiftで#pragmaマーク?
-
[解決済み] Swiftでindexとelementでループを反復させる方法
-
[解決済み] SwiftでiOSキーボードを任意の場所でタッチして閉じる
-
[解決済み] ファイルはユニバーサル(3スライス)ですが、iOSの静的ライブラリのための(n)ARMv7-sスライスエラーが含まれていない、どうにかして回避するには?
-
[解決済み】iOSアプリの名前を変更する方法は?
-
[解決済み】Swiftで正規表現にマッチしたものを取り出す
-
[解決済み] Objective-CのクラスでSwiftのプロトコルをインポートする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] NSの接頭辞はどういう意味ですか?
-
[解決済み] iOS 13 のフルスクリーンでモーダルを表示する
-
[解決済み] Unwind segueは何に使うのか、どう使うのか?
-
[解決済み] UITextViewのマージン/パディングをなくす方法
-
[解決済み] SwiftでUIAlertViewを作成するにはどうしたらいいですか?
-
[解決済み] UIDevice uniqueIdentifierは非推奨 - どうしたらいいの?
-
[解決済み] iPhone 5の画面解像度に対応したアプリを開発・移行するには?
-
[解決済み] CocoaPodsの最新バージョンにアップデートしますか?
-
[解決済み] UITextBorderStyleNoneを使用してUITextFieldのパディングを設定する
-
[解決済み] ぼかしの入ったオーバーレイビューの作成