Email 有没有办法消除.canOpenUrl的控制台警告?
我已经建立了一个邮件反馈表。我检查设备上有哪些可用选项,然后向用户提供一张操作表,以选择他们想要的方法。这一切都可以正常工作,除了检查可用性的代码为该设备不支持的方法抛出控制台警告。我是应该无视这些警告,还是有什么办法可以让我感到惊讶或抓住它们 错误:Email 有没有办法消除.canOpenUrl的控制台警告?,email,url,swift5,Email,Url,Swift5,我已经建立了一个邮件反馈表。我检查设备上有哪些可用选项,然后向用户提供一张操作表,以选择他们想要的方法。这一切都可以正常工作,除了检查可用性的代码为该设备不支持的方法抛出控制台警告。我是应该无视这些警告,还是有什么办法可以让我感到惊讶或抓住它们 错误: 2020-11-18 15:57:48.189802+0100 ProjectS[1119:173127] -canOpenURL: failed for URL: "googlegmail://co?to=test@test.nl&a
2020-11-18 15:57:48.189802+0100 ProjectS[1119:173127] -canOpenURL: failed for URL: "googlegmail://co?to=test@test.nl&subject=Feedback%20on%20G,%20version%201.0&body=Gffc" - error: "The operation couldn’t be completed. (OSStatus error -10814.)"
2020-11-18 15:57:48.196883+0100 ProjectS[1119:173127] -canOpenURL: failed for URL: "readdle-spark://compose?recipient=test@test.nl&subject=Feedback%20on%20G,%20version%201.0&body=Gffc" - error: "The operation couldn’t be completed. (OSStatus error -10814.)"
My info.plist包含:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>readdle-spark</string>
<string>ms-outlook</string>
<string>googlegmail</string>
</array>
再一次,所有的工作都如预期的那样,无论是为了警告
struct MailOption {
let url: URL!
let titel: String
}
let gMail = MailOption(url: URL(string: "googlegmail://co?to=\(emailTo)&subject=\(subjectEncoded)&body=\(bodyEncoded)"), titel: "GMail")
let outlook = MailOption(url: URL(string: "ms-outlook://compose?to=\(emailTo)&subject=\(subjectEncoded)&body=\(bodyEncoded)"), titel: "Outlook")
let spark = MailOption(url: URL(string: "readdle-spark://compose?recipient=\(emailTo)&subject=\(subjectEncoded)&body=\(bodyEncoded)"), titel: "Spark")
let availableUrls = [gMail, outlook, spark].filter { (mailOption) -> Bool in
return mailOption.url != nil && UIApplication.shared.canOpenURL(mailOption.url)
}