通过 URL Scheme 或其他方式打开 iOS 11 Files 应用程序
Posted
技术标签:
【中文标题】通过 URL Scheme 或其他方式打开 iOS 11 Files 应用程序【英文标题】:Open iOS 11 Files app via URL Scheme or some other way 【发布时间】:2018-03-12 00:13:22 【问题描述】:我的应用现在在 ios 11 文件应用的“我的 iPhone”部分共享 Documents
目录。
(感谢这篇文章:Working with the Files App in iOS 11)
问题是如何通过 URL Scheme 打开此目录或至少 File 应用程序根页面。 UIDocumentPickerViewController
或 UIDocumentBrowserViewController
在这种情况下无济于事。
【问题讨论】:
我也在寻找一种方法来做到这一点。还没找到东西。 Apple 开发者论坛中有一个关于此的主题,但还没有任何答案:forums.developer.apple.com/message/257860#257860 【参考方案1】: guard let documentDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first,
let components = NSURLComponents(url: documentDirectory, resolvingAgainstBaseURL: true) else
return
components.scheme = "shareddocuments"
if let sharedDocuments = components.url
UIApplication.shared.open(
sharedDocuments,
options: [:],
completionHandler: nil
)
【讨论】:
欢迎来到***,描述这部分代码是如何工作的,会让你的答案更有用 使用这个 sn-p 您可以找到文档目录并将 URL 方案从 file:// 替换为 shareddocuments://,这是打开“文件”应用程序所需要的。 这适用于 iOS 15【参考方案2】:可以使用 URL 方案 shareddocuments://
打开“文件”应用。
我不知道是否有办法打开特定目录。
【讨论】:
【参考方案3】: func openSharedFilesApp()
let documentsUrl = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
let sharedurl = documentsUrl.absoluteString.replacingOccurrences(of: "file://", with: "shareddocuments://")
print(sharedurl)
let furl:URL = URL(string: sharedurl)!
UIApplication.shared.open(furl, options: [:], completionHandler: nil)
这段代码可以工作。
【讨论】:
以上是关于通过 URL Scheme 或其他方式打开 iOS 11 Files 应用程序的主要内容,如果未能解决你的问题,请参考以下文章
android,ios配置scheme,react-native获取url