func sendMessage() {
let text = "안녕하세요.\\n아래 주소로 이동해주세요.\\nhttps://google.com".addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) ?? ""
guard let messageURL = URL(string: "sms://?&body=\\(text)") else { return }
if UIApplication.shared.canOpenURL(messageURL) {
UIApplication.shared.open(messageURL)
}
}
sms:// 는 텍스트가 입력된 상태로 뜸
text부분에 한글이 들어가면 URL 생성 부분에서 실패함 → URL Percent Encoding을 해서 넣어야함 (전체 주소가 아니라 텍스트부분만)
messages:// 스킴은 내용없이 Message 앱을 띄움
프로그램적으로 직접(iMessage 를 통하지 않고) 메시지를 보낼 수는 없음. 이런 설계는 의도적인 것임 ← 애플의 언급
https://developer.apple.com/library/archive/qa/qa1944/_index.html#//apple_ref/doc/uid/DTS40017631