2017-07-06 2 views
1

私のアプリケーションからのデフォルトのメッセージでiMessageアプリケーションを開こうとしています。デフォルトのメッセージには、アプリストア内のアプリへのリンクが含まれています。これは、ユーザーがアプリをダウンロードするようにユーザーを招待する方法として使用されます。リンクを含む既定のボディでiMessageを開く

ユーザーは番号を入力してから送信ボタンを押してから、その番号と補充されたメッセージを持つiMessageアプリを開きます。しかし、何らかの理由で、SwiftはURLを生成しません。ここに私が持っているものがあります

今はガードステートメントを過ぎていません。

私がしたいのは、iMessageを本体の中にある私のアプリケーションへのリンクで開いていることだけです。

答えて

0

&body=パラメータに渡されたコンテンツをエスケープする必要があります。 addingPercentEncodingでこれを行うことができます。例えば

let body = "Download SomeApp by clicking the link below:\n\nhttps://appsto.re/us/someapp.i" 

guard let escapedBody = body.addingPercentEncoding(withAllowedCharacters: .urlHostAllowed) else { 
    return 
} 

guard let phoneUrl = URL(string: "sms:\(numberTextField.text!)&body=\(escapedBody)") else { 
    return 
} 
+0

スウィート!どうもありがとう。これは正確に何を行い、リンクを作成するためにそれをしなければならないのですか? –

関連する問題