
IOS
IOS 共享扩展:通过 Safari 中的上下文菜单共享时获取页面的 URL
在IOS设备上,通过共享扩展可以方便地将信息从一个应用分享到另一个应用。其中,通过Safari中的上下文菜单共享,可以获取当前网页的URL,并将其传递给其他应用。本文将介绍如何 ,并提供相应的案例代码。获取 Safari 中的上下文菜单共享 URL要获取Safari中的上下文菜单共享URL,我们需要创建一个共享扩展,并在扩展的代码中实现相应的功能。首先,在Xcode中创建一个新的共享扩展目标。选择“File”菜单中的“New” -> “Target”,然后选择“Share Extension”。接下来,配置共享扩展的信息。可以设置扩展的名称、标识符等。在共享扩展的代码中,我们需要实现一个NSExtensionContext对象的方法,该方法将返回当前共享的内容。在该方法中,我们可以获取共享的URL,并将其传递给其他应用。下面是一个示例代码,用于获取Safari中的上下文菜单共享URL:Swiftimport UIKitimport Socialimport MobileCoreServicesclass ShareViewController: SLComposeServiceViewController { override func viewDidLoad() { super.viewDidLoad() // 获取共享的内容 if let item = extensionContext?.inputItems.first as? NSExtensionItem, let itemProvider = item.attachments?.first, itemProvider.hasItemConformingToTypeIdentifier(kUTTypeURL as String) { itemProvider.loadItem(forTypeIdentifier: kUTTypeURL as String, options: nil, completionHandler: { [weak self] (url, error) in if let url = url as? URL { // 在这里处理获取到的URL print(url.ABSoluteString) } self?.extensionContext?.completeRequest(returningItems: nil, completionHandler: nil) }) } else { extensionContext?.completeRequest(returningItems: nil, completionHandler: nil) } }}以上代码中,我们首先获取共享的内容,然后判断是否包含URL。如果包含URL,我们可以在completionHandler中处理获取到的URL。在这个例子中,我们只是简单地打印URL的绝对字符串表示。通过Safari中的上下文菜单共享,我们可以获取当前网页的URL,并将其传递给其他应用。本文介绍了如何 ,并提供了相应的案例代码。希望这篇文章能够帮助你理解IOS共享扩展的使用方法,并在实际开发中有所帮助。Copyright © 2025 IZhiDa.com All Rights Reserved.
知答 版权所有 粤ICP备2023042255号