首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从我的应用程序中显示本机ios文件应用程序的特定文件夹

从我的应用程序中显示本机ios文件应用程序的特定文件夹
EN

Stack Overflow用户
提问于 2019-01-18 10:59:35
回答 2查看 836关注 0票数 2

我有一个名为MyApp的应用程序,它主要是wkwebview。它已经集成到文件应用程序中,所以我可以从我的wkwebview import/export文件,以便能够下载文件到本地计算机或上传文件到服务器。

最后,我试图在我的应用程序中建立一个UIbutton,允许我的用户跳转到我存储他们所有内容的文件夹中的文件应用程序。而不是在我的应用程序中构建一个完整的FileProviderUI,我只想让按钮将用户带到文件应用程序导航到文件夹。

当我将UIDocumentInteractionController的路径指定为一个目录,并执行一个共享打开来呈现它时,什么也没有发生。没有错误,什么都没有。我只希望用户能够跳转到文件应用程序中名为MyApp的文件夹中。

我想这会很简单。添加一个FileProvider扩展或FilePRoviderUI扩展似乎是多余的,只要用户跳到这个文件夹中,让他与文件应用程序交互来做他喜欢做的任何事情-打开/删除/修改文档。

我不得不假设用户不够精明,即使我告诉他们文件保存在files App中,以便他们能够在脱机时直接与之交互,他们也不知道!

代码语言:javascript
复制
        let documentsUrl =  FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!    
        // Just jump to the folder forcing Files app to open this                    
        let viewer = UIDocumentInteractionController(documentsUrl)

        viewer.delegate = self
        viewer.presentPreview(animated: true)

不会向用户显示任何内容,也不会发生任何事情。轻敲按钮就会悄悄地失败。

EN

回答 2

Stack Overflow用户

发布于 2019-01-19 03:24:31

我想我想通了。有一个特定的URL格式,它会自动打开文件应用程序,它是shareddocument://-这里有一个简单的函数,似乎可以简单地实现这一点。

代码语言:javascript
复制
    func openSharedFilesApp() {
    let documentsUrl =  FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
    let sharedurl = documentsUrl.absoluteString.replacingOccurrences(of: "file://", with: "shareddocuments://")
    let furl:URL = URL(string: sharedurl)!
    UIApplication.shared.open(furl, options: convertToUIApplicationOpenExternalURLOptionsKeyDictionary([:]), completionHandler: nil)
}
票数 4
EN

Stack Overflow用户

发布于 2020-03-15 09:31:34

谢谢,维杰。这里是Objective-C。

代码语言:javascript
复制
- (void) openSharedFilesApp
{
    NSArray<NSString *>* directories = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);     // yes = expand tilde
    NSURL* url = [NSURL fileURLWithPath:directories.firstObject];
    NSString* sharedDocumentPath = [url.absoluteString stringByReplacingOccurrencesOfString:@"file://" withString:@"shareddocuments://"];
    NSURL* sharedDocumentURL = [NSURL URLWithString:sharedDocumentPath];
    [UIApplication.sharedApplication openURL:sharedDocumentURL options:@{UIApplicationOpenURLOptionUniversalLinksOnly: @(NO)} completionHandler:^(BOOL success) {
    }];
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54247188

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档