我想打开电子邮件应用程序(从模拟器)并从那里发送电子邮件,但是当我单击按钮时,我收到下面的错误,但应用程序没有崩溃
错误:
iGrow Goals[41098:3002008] -canOpenURL: failed for URL: "message://" - error: "This app is not allowed to query for scheme message"
Run Code Online (Sandbox Code Playgroud)
我的功能:
func sendEmail() {
// Converted to Swift 5.4 by Swiftify v5.4.24488
let mailURL = URL(string: "message://")
if let mailURL = mailURL {
if UIApplication.shared.canOpenURL(mailURL) {
UIApplication.shared.open(mailURL, options: [:], completionHandler: nil)
}
}
}
Run Code Online (Sandbox Code Playgroud)
这在模拟器中不起作用,仅在真实设备上起作用。
不要忘记配置您的 Info.plist 并在该键下添加消息条目:LSApplicationQueriesSchemes,以便您可以使用 canOpenURL 查询它。
将 URl 查询方案列入白名单的示例 Info.plist 文件:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>googlegmail</string>
<string>mailto</string>
<string>instagram</string>
<string>message</string>
</array>
Run Code Online (Sandbox Code Playgroud)
您还可以考虑使用 mailto 模式
let mailURL = URL(string: "mailto://example@example.com")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3716 次 |
| 最近记录: |