首先,我真的很惊讶这不是一个副本,因为在Objective-C中有大量的堆栈溢出问题可以解决这个问题,但我还没有看到使用SWIFT的好答案.

我正在寻找的是SWIFT中的一个代码片段,它将任意字符串作为文本消息的正文发送到给定的电话号码.从本质上说,我想要苹果官方文档中的this个左右的内容,但使用的是SWIFT,而不是Objective-C.

我想这并不太难,因为在Android中只需几行代码就可以完成.

编辑:我要找的是5-20行SWIFT代码,我不同意这太宽了.在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);
     }
}

这是Android解决方案,只有11行.Java往往比SWIFT冗长得多,所以我怀疑我问的是不是"太宽泛",更有可能是我不知道如何使用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相关问答推荐

SwiftUI绑定到特定的一个或多个枚举 case

iphone 11 和 iphone 12 对于相同的布局显示不同的结果

保存和读取登录到 keys 串不工作 IOS swift

uikit中如何触发swiftui功能

RealityKit – ARView 光线投射返回 0 个结果

在我的 M1 上出现 Architecture arm64 问题,因此我无法运行我的旧项目

Swiftui为什么在点击第二行之前背景不起作用

在iOS7半透明导航栏中获取正确的 colored颜色

Xcode intellisense 彩色框中字母的含义,如 f、T、C、M、P、C、K、# 等

iPhone 6 和 6 Plus 媒体查询

如何设置imageView的圆角半径?

如何以编程方式调用视图控制器?

从 NSUserDefaults 字典 iOS 中删除所有键

针对 Xcode 中的 iPad 选项

iOS 应用程序中的手动语言 Select (iPhone 和 iPad)

如何像在 Facebook 应用程序中一样以编程方式打开设置?

使用 Xcode 4 的 iPhone 临时构建

我的应用程序因使用广告支持框架而被拒绝.哪个图书馆负责?

UIGestureRecognizer 阻止子视图处理touch 事件

zoom UIButton 动画 - Swift