ในบทช่วยสอนนี้ เราจะเน้นไปที่การส่งข้อความจากแอปพลิเคชัน iOS ของคุณใน Swift โดยเราจะส่งข้อความจากหมายเลขโทรศัพท์ของผู้ใช้ของคุณ แม้ว่าเราไม่สามารถทำสิ่งนี้ได้โดยตรงหากไม่มีเนื้อหาของผู้ใช้ของคุณ แต่เราสามารถแสดงข้อความล่วงหน้าเพื่อให้ผู้ใช้ส่ง ซึ่งผู้ใช้สามารถแก้ไขได้ในภายหลังหากต้องการ
มาเริ่มกันเลย
เราจะใช้ “MFMessageComposeViewController” class object เพื่อแสดงอินเทอร์เฟซองค์ประกอบข้อความมาตรฐานภายในแอปพลิเคชันของคุณ
ก่อนที่เราจะนำเสนออินเทอร์เฟซการเรียบเรียง เราจะเติมฟิลด์ด้วยข้อความเริ่มต้นพื้นฐานที่เราต้องการส่ง รายชื่อผู้รับที่ผู้ใช้สามารถแก้ไขได้ในภายหลัง
อินเทอร์เฟซการเรียบเรียงไม่รับประกันการส่งข้อความของคุณ แต่ช่วยให้คุณสร้างข้อความเริ่มต้นและนำเสนอเพื่อให้ผู้ใช้อนุมัติเท่านั้น ผู้ใช้อาจเลือกที่จะยกเลิกอินเทอร์เฟซการเรียบเรียง ซึ่งในกรณีนี้ ข้อความและเนื้อหาจะถูกยกเลิก หากผู้ใช้เลือกที่จะส่งข้อความ แอป Messages จะรับผิดชอบในการส่งข้อความ
ขั้นตอนที่ 1: เปิด Xcode → New Projecr → Single View Application → ตั้งชื่อว่า "MailComposer"
ขั้นตอนที่ 2: เปิด Main.storyboard และเพิ่มปุ่มและตั้งชื่อว่า "Send Mail" อย่าลืมเพิ่มข้อจำกัด "Horizontally and Vertically in the container" และเพิ่ม "width =100 points and height to 50 points" ตามที่แสดงด้านล่าง
ขั้นตอนที่ 3: ไปที่ ViewController.swift และเพิ่มอินสแตนซ์ปุ่ม IBAction และตั้งชื่อว่า "sendMessage"
@IBAction func sendMessage(_ sender: Any) { }
ขั้นตอนที่ 4: เพิ่ม “MFMessageComposeViewControllerDelegate ” ให้กับคลาส ViewController ของคุณ และเพิ่มเมธอด stub เพื่อให้แน่ใจว่าสอดคล้องกับโปรโตคอลนั้น นำเข้า “MessageUI” ใน ViewController.swift
ขั้นตอนที่ 5: สร้างวิธีการใหม่ “displayMsgInterface ” ใต้ viewDidLoad และวางโค้ดด้านล่าง ซึ่งมีหน้าที่แสดง MFMessageComposeViewController และการกำหนดค่าของผู้รับและข้อความที่กรอกไว้ล่วงหน้า
func displayMsgInterface() { let messageCompose = MFMessageComposeViewController() messageCompose.messageComposeDelegate = self // Configure recipients messageCompose.recipients = ["9401234567"] // Configure message body messageCompose.body = "Hey! I just learned how to send message using iOS App." // Present the ViewController modally if MFMessageComposeViewController.canSendText() { self.present(messageCompose, animated: true, completion: nil) } else { print("You cannot send messages.") } }
ขั้นตอนที่ 6: เพิ่มรหัสต่อไปนี้ในวิธีการมอบสิทธิ์ “didFinishWithResult”
func messageComposeViewController(_ controller: MFMessageComposeViewController, didFinishWith result: MessageComposeResult) { self.dismiss(animated: true, completion: nil) }
ขั้นตอนที่ 7: โทร “displayMsgInterface ” จากวิธี “viewDidLoad”
รหัสสุดท้ายของคุณควรมีลักษณะดังนี้!
และเสร็จแล้ว! เริ่มกันเลย
หากต้องการดูการทำงาน คุณต้องเรียกใช้ในอุปกรณ์จริงเนื่องจากพฤติกรรมการส่งข้อความไม่สามารถใช้ได้ในโปรแกรมจำลอง