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 许可协议。转载请注明来源 今是昨非的博客!
相关推荐
2024-07-31
Swift 面试题
背景被问到的面试题,这里记录一下。 问题Swift 中 Struct 和 Class 的区别Swift 中 为什么 String、Array、Dictionary 用 Struct 实现Swift 中写时复制的原理Swift 中变量作用域有哪些,区别是什么Swift中 Protocol 如何声明可空MVP 的优点是什么RxSwift 中冷信号和热信号的区别RxSwift 中 CombineLatest、zip、merge的区别Git 中 rebase和 merge 的区别,rebased的 commitID 会改变吗SwiftUI 中 View 传值方式有哪些什么情况下触发 layoutSubviews 答案Swift 中 Struct 和 Class 的区别Struct是值类型,Class 是引用类型;Struct和 Class 都可以有属性和方法,但是 let 修饰的 Struct 不能更改,Class 修饰的可以更改;Struct方法中修改属性需要在方法前添加 mutating 关键字。Struct和 Class 都可以实现协议。Struct不能被继承,Class 可以...
2021-08-02
iOS 启动时间优化
iOS 启动时间优化——相关背景iOS的启动时间优化有很多相关的文章,本来不打算写,但是总归是自己整理一遍印象更深刻。这里打算从原理-实践-面试相关三个方面来入手。首先要理解APP启动的原理,启动做了什么?然后针对启动过程中的事件哪些是开发可以进行优化的,去实践?最后则是,面试相关,与启动优化相关的面试有很多,笔者打算列举一下,分别涉及到启动的哪些问题。 启动原理启动分为冷启动和热启动。冷启动指的是APP进程被杀掉后,从零打开;热启动指的是,APP进入后台,再切换到前台唤起到过程。这里通常说的启动优化,指的是冷启动优化。(Ps: 这里某些版本会出现,刚杀掉的APP,立即再次打开,会直接闪退的问题,是系统的Bug)。 冷启动的过程分为main函数之前(pre-main)和main函数之后两个阶段。 pre-main阶段就如很多文章说的: pre-main阶段的过程分为dylibs loading ——> rebase/binding ——> ObjC setup ——> initializer四个部分。每个部分吧啦吧啦…但每次问到这个时候,死记硬背出来真的累人...
2022-09-27
Xcode 14新建项目 Pod init失败
Xcode 14新建项目 Pod init失败背景使用Xcode 14.0(14A309)新建了一个项目,然后运行Pod init,就报错,[Xcodeproj] Unknown object version (56). (RuntimeError)和can't modify frozen String (FrozenError)。 排查一开始看报错以为是cocoapods出问题了,最坏的打算是重装CocoaPods,但是先去搜索一下,看是否是其他原因导致的,或者有没有遇到同样错误的。 搜索can't modify frozen String (FrozenError),搜出来都是m1芯片怎么怎么的,但是我的电脑不是m1芯片的,所以不是这个问题。 搜can't modify frozen String (FrozenError),发现了pod init cause RuntimeError - [Xcodeproj] Unknown object version 和 RuntimeError - [Xcodeproj] Unknown object ...
2026-02-05
半天通过 AI 实现切换APP中广告 SDK
背景现有的 APP 中广告 SDK 由于某些原因又被封的风险,所以需要紧急切换一个平台,从 AppLovin 切换到 TopOn。按照经验,需要做的事情是:找出现有项目中原 SDK 的使用,然后删除,然后替换为新 SDK,然后重新编译,然后测试SDK的功能。整个流程预估要 3、4 天不过分吧。但是通过 AI 半天解决了,下面分享一下是如何实现的。 实现第一步首先分析问题,目标是切换广告 SDK,AppLovin 切换到 TopOn;所以第一步我让 AI: 分析下项目中涉及到AppLovin的代码,分析下是如何使用的,如果要切换为其他 SDK,给出步骤和建议 由于项目中使用 AppLovin 的激励视频、横幅、插屏这三类,使用的地方也散落在项目中各个地方,所以AI会给出必须改动的具体文件和内容。 AI 回复中的广告层抽象,让我想起来之前看 Flutter 架构时,看到过的Service 层封装,对外暴露统一的Service,Service的内部可以是本地 Mock 数据、数据库、网络请求数据,这样做的好处就是,业务调用的地方统一,不需要每次都修改调用的地方,只需要封装好内...
2021-09-10
gitignore 添加 Pod 三方库
背景最近项目遇到了一个问题,排查了好久,最后发现是Pod 依赖的私有组件的代码有问题,导致了打包的时候线上包出现了问题。 笔者的项目按照功能抽象出了私有组件,使用 Pod 的方式导入项目,但是 Pod的内容是不提交到 git 的,即每次 Pod 修改,在 主项目的git变更中看不到。于是就遇到了这个问题。 先在主项目中调试的时候,修改了 Pod库的内容。然后把修改内容同步到了 Pod 库单独的项目。但是最后打包的时候 Pod 库的内容却是老的。因为项目里依赖的 Pod 库指定了版本,而更新 Pod库单独的项目时,只同步到了分支上,没有更新新的 Tag。于是再次更新主项目的库时,这个库的内容就又变回了老的。 Ps:理论上来说,放入 Pod 库的内容不应该被频繁修改,是抽出的基础库之类的。但是实际开发中,为了组件化,有些功能组件也会作为私有库使用 Pod 依赖,这些库可能是频繁变更的。 基于这点,笔者感觉还是把 Pod 中的内容,放入主项目的 .git 中比较好,方便看出修改,能够避免出现上面的问题。 修改笔者直接进入项目工程所在目录,编辑.gitignore文件,移出文件中 #...
2023-03-31
Xcode 14.3 Archive 失败
背景由于手机升级了iOS 16.4,想要真机调试,Xcode 也要升级到 14.3, 于是就升级了一下。 升级Xcode 14.3之前,Debug 和 Archive 都没问题;升级 Xcode 14.3之后,Debug 没问题,Archive 就报错。错误信息如下: 123456789building file list ... rsync: link_stat "/Users/xxx/.../AFNetworking.framework" failed: No such file or directory (2)donesent 29 bytes received 20 bytes 98.00 bytes/sectotal size is 0 speedup is 0.00rsync error: some files could not be transferred (code 23) at /AppleInternal/Library/BuildRoots/9e200cfa-7d96-11ed-886f-a23c4f261b56/Librar...