SYEmailHelper 2.2.0

SYEmailHelper 2.2.0

Stanislas Chevallier 管理。



  • 作者
  • Stan Chevallier

SYEmailHelper

轻松检测已安装的电子邮件客户端,允许用户在发送电子邮件时选择一个。

我用它快速在我的应用中添加“联系我”功能。这将检测一组 SYEmailService,表示

  • 原生应用内编辑器
  • 第三方应用
  • 最后手段:将电子邮件地址复制到剪贴板,以便您的用户通过不受支持的应用发送

如果列表中没有项目,则会调用 completion block 并带有一个错误:`SYEmailHelperErrorDomain`,代码 `SYEmailHelperErrorCode_NoServiceAvailable`。

如果用户选择了一个无法打开的第三方应用,也会生成错误:`SYEmailHelperErrorCode_CouldntOpenApp`。

如果只有一个支持的服务可用,它将自动启动。

如果有多个支持的服务可用,则会显示一个操作表。

您可以将以下操作:

  • 禁用“复制到剪贴板”选项
  • 更改“复制到剪贴板”选项的文本
  • 更改“取消”选项的文本

示例

    PasteboardEmailService.name = "Copy email address to pasteboard"
    
    EmailHelper.shared.showCopyToPasteBoard = true
    EmailHelper.shared.actionSheetTitle = "Which app you wanna use?"
    EmailHelper.shared.actionSheetMessage = "We support some third party apps, native email client and copying to clipboard if your favorite app is not supported"
    EmailHelper.shared.actionSheetCancelButtonText = "Meh..."
    
    EmailHelper.shared.presentActionSheet(
        address: emailField.text,
        subject: subjectField.text,
        body: bodyField.text,
        presentingViewController: self,
        sender: sender)
    { (canceled, service, error) in
        if (canceled) {
            self.completionLabel.text = "User cancelled"
        }
        else if let service = service, let error = error {
            self.completionLabel.text = String(format: "Service %@ encountered error: %@", service.name, error.localizedDescription)
        }
        else if let error = error {
            self.completionLabel.text = String(format: "Encountered error: %@", error.localizedDescription)
        }
        else if let service = service {
            self.completionLabel.text = String(format: "No error, used service %@", service.name)
        }
    }

如何安装

使用 Cocoapods

  1. 将以下代码添加到您的项目 Podfile 中
pod 'SYEmailHelper', '~>  2.2.0'
  1. 打开一个新终端

  2. cd 到您的项目目录的根目录

  3. 从命令行运行 pod install


使用 Swift Package 管理器

  1. 打开您的项目,然后在项目导航器中点击项目名称
  2. 在“项目”部分下,点击您的项目名称,然后点击“包依赖”
  3. 点击“+”按钮,并搜索 https://github.com/dvkch/SYEmailHelper.git
  4. 找到该包后,请务必选择“精确版本”,并输入版本号“2.2.0”
  5. 按下回车键,该包将被下载并集成到您的 Xcode 项目中

导入包(SPM 和 Cocoapods)

在项目中的任何 .swift 文件顶部添加

import SYEmailHelper

不要忘了================

您需要在 Info.plist 文件中添加支持的 app 列表。以下是当前支持的 app 列表所需的条目。

<key>LSApplicationQueriesSchemes</key>
<array>
	<string>googlegmail</string>
	<string>inbox-gmail</string>
	<string>ms-outlook</string>
	<string>readdle-spark</string>
</array>

屏幕截图

ActionSheet

示例

您可以通过打开存储库工作区来打开 SPM 和 Cocoapods 示例项目,以及包本身

简单

  1. 克隆这个存储库

  2. 打开存储库文件夹

  3. 使用 Xcode 打开位于此存储库根目录下的 SYEmailHelper.xcworkspace 文件。


许可协议

您可以在您想要的任何项目中自由使用,可以在分发时提及我的名字,但如果它出错了,请不要指责我 :)

-- dvkch