iOS 8 有一个令人难以置信的功能,称为 应用程序扩展。在 Dashlane,我们为您的应用程序构建了一个强大且易于实现的 App 扩展。通过使用上述视频中介绍的 Dashlane App 扩展,您可以通过消除三个关键领域的手动数据输入来增强用户体验并提高应用程序参与度
支持 Dashlane 扩展类似支持 iOS 8 扩展。需要添加 UI 元素(例如 UIButton)以触发 UIActivityViewController 实例,该实例将展示 iOS 8 扩展选择 UI 组件。另外,Dashlane 扩展使用 NSItemProvider 在传递给 UIActivityViewController 实例之前通过 NSExtensionItem附件构建请求。
DashlaneExtensionRequestHelper 是一个实用程序类,可用于快速支持 Dashlane 扩展。它负责创建适当的请求数据结构,并在应用程序关键窗口的根视图控制器上显示 UIActivityViewController 视图。
您可能想要检测您的应用程序用户是否在他们的 iOS 设备上安装了 Dashlane。使用以下代码,您将能够检查是否已安装 Dashlane 的扩展版
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"dashlane-ext://"]) {
// You can attempt to use the Dashlane Extension
}
请求必须包含一个非空的应用程序名称参数。它是“appName”参数,需要传递给指定的初始化器
- (instancetype)initWithAppName:(NSString *)appName
如果没有非空的应用程序名称,扩展将返回一个错误。
请求包括以下步骤
- (void)startNewRequest
- (void)addRequest:(NSString *)requestIdentifier matchingString:(NSString *)stringToMatch
请求标识符是由Dashlane定义的常量,用于识别请求数据类型。欲了解更多信息,请查看DashlaneExtensionConstants。
stringToMatch用于过滤扩展UI将呈现给用户的内容。如果您不需要,请传递nil。
可以使用相同的请求请求数据类型(通过多次调用每个数据类型的顶级方法)。
- (void)requestLoginAndPasswordWithCompletionBlock:(RequestCompletionBlock)completionBlock
完成块是在扩展被关闭时将要被调用的回调。
完成块定义为
typedef void (^RequestCompletionBlock)(NSDictionary *returnedItems, NSError *error);
当扩展被关闭时,(RequestCompletionBlock)完成块将调用表示Dashlane扩展响应的字典。该字典包含每个请求的数据类型(即requestIdentifier),都对应一个用户数据项的字典表示。返回用户数据项字典的键可以在DashlaneExtensionConstants中找到。
返回项字典的示例
{
DASHLANE_EXTENSION_REQUEST_ADDRESS : {DASHLANE_EXTENSION_REQUEST_REPLY_LOGIN_KEY: @“a login”, DASHLANE_EXTENSION_REQUEST_REPLY_PASSWORD_KEY : @“a password"},
DASHLANE_EXTENSION_REQUEST_PHONE_NUMBER : {DASHLANE_EXTENSION_REQUEST_REPLY_PHONE_NUMBER_KEY: @“a phone number"}
}
希望您已经找到开始所需的所有内容。如果您感兴趣或有任何问题,请通过电子邮件联系[email protected]。