iOS沙盒管理工具FHHSandBoxViewer

作者: 002and001 | 来源:发表于2018-04-28 18:29 被阅读11次
KeyWord:沙盒文件递归遍历、Swift里的闭包多个weak修饰、iOS使用AirDrop
iOS沙盒查看器FHHSandBoxViewer了解一下?
操作演示.gif
平时真机开发调试App的时候想查看沙盒具体内容一般做法是连接Xcode下载整个App的沙盒,不方便,于是自己写了一个沙盒查看器。

如何导入使用

Swift下

1.拖入文件夹FHHSandBoxViewer到你的工程;
2.找个入口然后添加如下代码:

    let title = FHHSandboxViewController.defaultNavTitle
    let path = FHHSandboxViewController.defaultPath
    let sandBoxViewerVC = FHHSandboxViewController.init(navTitle: title, path: path)
    let nav = UINavigationController.init(rootViewController: sandBoxViewerVC)
    nav.navigationBar.isHidden = true
    nav.navigationBar.isTranslucent = true
    self.present(nav, animated: true, completion: {
        sandBoxViewerVC.fhh_enterType = .present
    })
OC下

1.拖入文件夹FHHSandBoxViewer到你的工程;
2.如果你的项目之前没有使用Swift,需要配置你Xcode的ProductName-Bridging-Header.h文件,可以参考OC和Swift混编开发配置;
3.找个入口添加如下代码:

NSString *defaultTitle = [FHHSandboxViewController defaultNavTitle];
NSString *defaultPath = [FHHSandboxViewController defaultPath];
FHHSandboxViewController *sandBoxViewerVC = [[FHHSandboxViewController alloc]
                                                initWithNavTitle:defaultTitle
                                                            path:defaultPath];
UINavigationController *nav = [[UINavigationController alloc]
                                  initWithRootViewController:sandBoxViewerVC];
[nav.navigationBar setHidden:YES];
[nav.navigationBar setTranslucent:YES];
[self presentViewController:nav animated:YES completion:^{
    sandBoxViewerVC.fhh_enterType = FHHEnterTypePresent;
}];

MARK:

Swift闭包中用weak修饰多个对象
FHHSandboxViewController.swift中

在viewMoel的闭包中需要用weak修饰self并且对viewMoel本身也要weak修饰防止内存泄漏,但是之前没试过一个闭包多个weak修饰的写法,翻了翻官方文档,写法如下:

    private func configSandboxViewModelDidSelectBlock(viewModel: FHHSandboxViewModel, subPath: String) {
        viewModel.didSelectBlock = { [weak self, weak viewModel] in
            if (self?.isSelected)! {
                viewModel?.isSelected = !(viewModel?.isSelected)!
                self?.tableView.reloadData()
                self?.refreshAccessoryView()
            } else {
                if (viewModel?.isDir)! {
                    let vc = FHHSandboxViewController.init(navTitle: (viewModel?.pathLastName!)!, path: subPath)
                    self?.navigationController?.pushViewController(vc, animated: true)
                }
            }
        }
    }
使用AirDrop等分享内容:
        let shareURLArray = self.getSelectedURL()
        let vc = UIActivityViewController.init(activityItems: shareURLArray, applicationActivities: nil)
        let completionWithItemsHandler = { (type: UIActivityType?, isSucceed: Bool?,array: Array<Any>?, error: Error?)  in
            FHHLog("error:\(String(describing: error?.localizedDescription))")
            self.resetToUnSelectState()
            self.tableView.refresh(viewModelArray: self.viewModelArray)
        }
        vc.completionWithItemsHandler = completionWithItemsHandler
        self.present(vc, animated: true, completion:nil)

建议使用AirDrop导出,第三方软件对分享内容、大小、数量有限制

Tip:

1.使用AirDrop分享受系统保护的文件夹或文件会失败,不同系统或设备可能会有差别;例如,我在iOS10.1.1-iPhone7上分享Doucnemts、Library、temp目录失败,在iOS11.3-iPhone8上分享Doucnemts、Library、temp则成功,详情查看控制器打印的错误信息。
2.模拟器下的话可以使用软件TySimulator查看沙盒内容,也很方便。
3.手机空间不足也可能会导致AirDrop分享失败。

相关文章

  • iOS沙盒管理工具FHHSandBoxViewer

    KeyWord:沙盒文件递归遍历、Swift里的闭包多个weak修饰、iOS使用AirDrop iOS沙盒查看器F...

  • iOS 系统相关复习

    沙盒 iOS沙盒详细介绍iOS沙盒篇 沙盒机制介绍 iOS中的沙盒机制是一种安全体系。为了保证系统安全,iOS每个...

  • iOS 数据持久化知识汇总(1)—————存储路径

    一、沙盒和沙盒存储路径 1、沙盒是什么 iOS 每个iOS应用都有自己的应用沙盒,应用沙盒就是文件系统目录 。所...

  • 05-iOS数据存储

    一、iOS沙盒机制 iOS的每个应用都有属于自己的存储空间,即沙盒应用只能访问自己的沙盒,不可访问其他区域。 沙盒...

  • 使用沙盒的正确姿势

    在学习iOS存储方法之前,先了解一下iOS存储机制——沙盒应用沙盒机制:每个iOS应用都有自己的应用沙盒(文件系统...

  • Objective-C沙盒结构

    导读: 一、什么是沙盒机制二、沙盒的特点三、沙盒的结构组成四、获取沙盒目录路径 一、什么是沙盒机制 iOS中的沙盒...

  • iOS 沙盒

    沙盒机制:在iOS中每个APP都拥有自己的沙盒,APP只能访问对应沙盒中存储的数据, iOS是不允许跨越沙盒去访问...

  • OC - 沙盒

    导读: 一、什么是沙盒机制 二、沙盒的特点 三、沙盒的结构组成 四、获取沙盒目录路径 一、什么是沙盒机制 iOS中...

  • 沙盒

    一、iOS沙盒机制介绍(1)概念:每个ios应用都有自己的应用沙盒,应用沙盒就是文件系统目录,与其他应用放入文件 ...

  • iOS本地数据存取,看这里就够了

    iOS本地数据存取,看这里就够了 应用沙盒 每个iOS应用都有自己的应用沙盒(应用沙盒就是文件系统目录),与其他文...

网友评论

    本文标题:iOS沙盒管理工具FHHSandBoxViewer

    本文链接:https://www.haomeiwen.com/subject/gcablftx.html