沙盒预览工具
一两行代码就能轻松查看iOS应用沙盒文件。debug好帮手
许多项目中都有文件下载、db存储或其他类型文件缓存/音视频图片缓存等。
但是,在真机或调试阶段查看这些文件需要开发人员进入对应的沙盒路径文件夹自行查看,非常不方便。对于真机来说尤其麻烦。
建议开发人员可以在项目提测阶段添加悬浮球功能,一键跳转到沙盒中,方便查看缓存文件信息或分享到PC。
支持JSON、PLIST、HTML、CSS、LOG日志、图片等在应用内部查看。
支持SQLite、Realm等文件(会自动忽略部分管道文件),支持AirDrop分享查看。
附带文件MD5信息,适合下载文件后查看本地文件信息,校验文件完整性。
例如:如果您觉得自己应用中的数据库文件有问题,可以直接将相应的db或realm文件通过AirDrop分享到电脑上,然后使用相关应用程序直接输入SQL语句进行调试。
#import <SandBoxPreviewTool/SuspensionButton.h>//悬浮球按钮
//按钮点击事件中调用
- (IBAction)click:(id)sender {
//[[SandBoxPreviewTool sharedTool] setOpenLog:YES];是否开启控制台打印文件路径。不用可自行忽略
[[SandBoxPreviewTool sharedTool] autoOpenCloseApplicationDiskDirectoryPanel];
}
赠送额外功能1:查看文件MD5值,建议对重要文件的下载和上传都严格校验文件MD5摘要,防止文件在网络请求过程中出错或被篡改等意外情况。
#import <SandBoxPreviewTool/LJ_FileInfo.h>
//xx_filePath 文件沙盒路径(不能设置为文件夹路径)
[LJ_FileInfo getFileMD5WithPath: xx_filePath];
赠送额外功能2:悬浮球
#import <SandBoxPreviewTool/SuspensionButton.h>//悬浮球按钮
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
...创建window以后向window添加悬浮球
[self createDebugSuspensionButton];
}
// 创建悬浮球按钮
- (void)createDebugSuspensionButton{
//自行添加哦~ 记得上线前要去除哦。 QA或者调试开发阶段可以这么使用
SuspensionButton * button = [[SuspensionButton alloc] initWithFrame:CGRectMake(-5, [UIScreen mainScreen].bounds.size.height/2 - 100 , 50, 50) color:[UIColor colorWithRed:135/255.0 green:216/255.0 blue:80/255.0 alpha:1]];
button.leanType = SuspensionViewLeanTypeEachSide;
[button addTarget:self action:@selector(pushToDebugPage) forControlEvents:UIControlEventTouchUpInside];
[self.window.rootViewController.view addSubview:button];
}
//open or close sandbox preview
- (void)pushToDebugPage{
[[SandBoxPreviewTool sharedTool] autoOpenCloseApplicationDiskDirectoryPanel];
}
安装
pod "SandBoxPreviewTool"
部分样例
查看某个文件下的所有子文件,可以方便地查看类似SDWebImage工具的图片缓存
查看沙盒中下载的文件,MD5值可以用于校验文件是否下载出错。
其他建议
其实开发中大家一样可以在info.plist文件中设置UIFileSharingEnabled为true。这样就可以轻松在iTunes中查看Documents文件目录下的文件内容。但是如果没有特殊情况,上线前一定要关闭该功能。