iOS 在文件中访问 Document Directory
发表于|更新于
|浏览量:
iOS 在文件中访问 Document Directory
iOS 11之后,在 Plist 中设置LSSupportsOpeningDocumentsInPlace为 YES,且UIFileSharingEnabled为 YES,可以从系统的Files应用中访问应用的 Documents 目录。
如下:
从系统的文件打开,查看我的 iPhone如下,开启了此功能的应用可以从这里面看到
注意:此目录是 APP 的Documents目录,所以 APP 删除后,目录就消失了。
参考:
文章作者: 今是昨非
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 今是昨非的博客!
相关推荐
2021-07-20
iOS 键盘删除键响应
iOS 键盘删除键响应背景背景是,实现一个分享到微信,多选加输入框,点击键盘删除键,删除多选选中对象的东西。 实现由于UITextField没有删除键的代理,所以笔者最开始的想法是,通过textField:shouldChangeCharactersInRange:replacementString:来实现监听,当当前字符串为空且要替换字符串为空时,说明是点击的删除按钮,通过Block方法回掉出去,代码如下: 12345678910- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { if ((textField.text.length == 0) && (string.length == 0)) { if (self.deleteBackwardBlock) { self.deleteBa...
2024-04-24
借助腾讯混元助手屏蔽简书登录框
背景查东西的时候,有些文章在简书,然后在浏览简书的时候,未登录时会弹出登录框,很烦人,所以想屏蔽掉。也想把右边的热门故事和底部的推荐关闭掉。说实话,我对《离婚后,妈宝男前夫后悔了》之类的是真的不感兴趣啊。。。所以就想通过 js 实现过滤掉这三部分。通过暴力猴,然后自己实现一个过滤脚本,具体步骤如下: 首先明确需求,要移除的共有三个部分, 未登录时的登陆框 右边的热门故事 底部的推荐 如下图所示: 然后一步步来看。 实现登陆框的移除查看网页源代码,对比登录框弹出前后,可以看出,当登陆框弹出时,body的style变为了overflow: hidden;;且尾部多了一个div。如下图: 所以如果想要去除登陆框,要做的就是在登陆框弹出时,移除尾部的div,并把body的style改为none。问题是,如何判断登陆框弹出时? 有两种方案,一种是监听滚动的位置,因为观察发现,登陆框是滚动到指定位置时才弹出的。还有一种是,换一个思路,监听 body 的 style,当body的style变为overflow: hidden;时,说明登陆框弹出了。 这里采用方法二,因为方法一太麻烦...
2023-07-14
iPA重签名 + 香色闺阁、微信重签名实战
背景换手机之后,原来的香色闺阁不能下载,转移的时候就丢失了。又最近看到有人截屏iPhone上装了两个微信,一个是自己重签名的;想到自己有开发者账号,但是还没试过重签名APP,是不是可以通过重签名来安装香色闺阁,以及实现多开微信? 步骤说干就干,首先从简单的开始,先来尝试重签名香色闺阁,再尝试微信,因为香色闺阁的包内容比微信的少很多,文件容易找,相对简单,步骤如下: 重签名香色闺阁首先从网上搜素下载香色闺阁的 ipa 包,没有的可以从这里yuedu.ipa下载。 然后将 ipa 改为 zip,然后解压,会出现一个 Payload 文件夹,里面有一个StandarReader.app的文件。选中StandarReader.app,右键显示包内容,可以看到APP包中的所有内容,如下图: 重签名就是用自己的账号新建一个APP(bundleID自己定义),运行到手机上,找到运行的包(xxx/DriveData/xxx/Build/Products/Debug-iphoneos/xxx.app)或者通过打包的方式,使用AdHoc方式生成一个iPA(用于获取到描述文件和Entitle...
2024-06-07
Safari 获取 Bing Rewards 插件
背景Bing Rewards 可以兑换天猫礼品卡、中国石化礼品卡、肯德基电子券、盒马礼品卡、苹果礼品卡等。level 1 的时候每天至多获取 30 积分,level 2 的可以电脑端 90积分、手机端60 积分。每天150 积分点着太累了,就想着有没有一键的便捷操作。 找到了一个通过 Chrome 插件Rewards-Search-Automator: Chrome / Edge extension for automatic Bing Search,来实现的,除去其中的 Mobile 不生效,外加搜索完成跳转开发者的网站,别的还好,可以自己下载代码,修改去掉跳转开发者网站的逻辑。 但是就是还有个问题,在 iPhone 上用不了,所以手机端的 60 积分还是不能一键获取,所以就想到了,借鉴这个做个 Safari 插件,然后就可以在iPhone上用了。 实现逻辑很简单,iPhone 使用 Bing 搜索,然后抓包出请求,然后提取出关键的form,再封装到 Safari Extension 中,当 popup 出来的时候,触发搜索。添加生成随机字符串的逻辑,每隔 6 秒,重新搜...
2022-08-26
一次诡异的录音崩溃排查
背景上午突然有用户反馈,使用录音功能崩溃。起初以为是最近更新的APP新版本有问题,赶紧去排查。 排查首先在测试手机上,测试环境调试,发现并没有崩溃,长出了一口气,说明不是所有用户都有,不是新版本改出来的问题。 然后去听云后台看日志,发现崩溃的地方是初始化AVAudioRecorder的方法——[[AVAudioRecorder alloc] initWithURL:url settings:recordSettings error:&error];。很费解,只是简单的初始化方法,为什么会导致崩溃呢? 一开始猜测会不会是用户录音权限没开,导致开始录音的时候崩溃。尝试后发现如果权限关闭,在进入录音页面前就会提示权限未开启,去开启权限,并不能进入到录音步骤。 然后怀疑会不会是初始化的url为空,又或者机型不支持设置recordSettings中的某些参数?搜索后,发现有url为空崩溃的条目,所以这里大概率也是初始化的url为空。 继续排查,发现初始化的url,是本地的缓存文件夹中Audio文件夹,并且文件名字是取日期+时分秒用于避免重复,格式为yyyyMMdd_HHmmss...
2022-09-05
Carthage使用
背景之前一直用CocoaPods,这次做编译时间优化时,把某些Pod依赖的库改为了Carthage依赖的,这里记录一下Carthage的使用。 使用安装使用brew安装,简单方便 1brew install carthage 使用在项目所在文件夹,即.xcodeproj所在的文件夹下,创建Cartfile 1touch Cartfile 然后打开Cartfile 1open Cartfile -a Xcode 添加要依赖的第三方库,注意依赖版本的指定,指定版本和指定范围的写法,如下: 1234567891011github "krzyzanowskim/CryptoSwift" ~> 1.4.0github "evgenyneu/keychain-swift" ~> 19.0github "ibireme/YYKit"github "ReactiveX/RxSwift" "6.5.0"github "onevcat/Kingfisher" ...