Tag: 文件共享

通过iOS上的网络链接共享文件

iOS爱好者的绝妙新闻! 新的软件更新使您可以通过Web链接直接从Lima应用程序共享文件。 通过点击文件,您可以使用新的“共享链接”按钮并直接从智能手机与他人共享文件。 您可以通过电子邮件发送所提供的链接,进行消息发送,复制和粘贴它,以及根据需要共享任何图片,电影或文档。 收到链接时 另一方面,您的朋友会收到一个访问内容的链接。 然后,他/她可以从任何设备“下载”文件。 而已! 这么简单 您可以同时发送多个文件 一次共享几个文件之前,要做的第一件事是将文件压缩在一起。 这样,Lima会将它们视为一个文件。 如果更改文件名或将其移动到另一个文件夹,则将使链接不可访问。

我如何编写和发布Swift库以从Scratch下载数据

VolexDownloader为Swift 3 动机:😇 好吧,我一直很热衷于编写一段可以以某种方式帮助他人的代码。 我曾经写一些小应用程序来解决一些琐碎的问题,但是后来我决定写一个对其他开发人员而不是最终用户真正有用的低级API。 想法:💡 大多数应用程序的任务是以一种或另一种方式从Internet或Intranet下载数据。 每次都是同一段代码或创建一个请求,设置会话,创建任务,更不用说管理下载的内容了。 为什么不编写为您处理所有这些事情的一键式API,以便您可以专注于重要的事情,例如处理实际下载的数据。 它能做什么? 💪🏼 它具有以下模式: 使用用户界面: VeloxDownloader带有内置的下载视图,该视图显示下载进度,并且当前可以停止任何下载。 通过此API,您可以控制是否要为任何特定文件下载启用后台下载。 没有UI: 该API使用Swift闭包来返回下载进度,剩余时间和下载的完成状态。 您可以使用此信息来满足您的需求,甚至可以构建自己的下载进度GUI。 该API还允许您为任何特定文件下载启用或禁用后台下载。 设计与代号:🙇🏼 好吧,我在网上环顾四周,并从现有的图书馆中获得了一些动力。 它们要么是用Obj-c编写的,要么仅提供了一个特定的用例。 我想结合所有这些实现,以提供您只需调用的多合一产品即可为您完成工作。 在这种情况下,您只需给它提供文件url,然后它将在特定位置为您下载。 我首先考虑了文件的生命周期。 有关持久性和删除下载文件的设计决策。 库检查temp和应用程序缓存目录中的命名冲突,并相应地删除和/或覆盖。 接下来考虑的是下载以及开发人员选择的各种模式。 实例化了URLSession并根据下载的前台与后台进行了正确的配置。 完成上述设置后,在Xcode控制台上的日志中产生了正确的结果后,我继续使用UI并创建了自定义tableView来显示下载活动。 我选择为此创建xib,因为我知道将来必须将其作为库发布。 为单元格创建了一个xib,为tableView本身创建了一个xib。 然后是将下载逻辑链接到我各自的视图控制器的任务。 好吧,长话短说,我使用协议和通知来实现这一目标。 我的下载程序类发布了有关通过协议和通知下载的文件状态的更新,我的UI类根据下载开始,完成或被用户停止更改了UI组件。 Github🐙 我创建了所有源代码并将其提交到Github中。 我以前从未以库的形式发布过它,所以我不得不重新格式化我的项目结构。 我将所有文件(.swift和.xib)合并在一起,这些文件将成为我的库的一部分。 你可以在这里查看 我创建了一个问题,将所有提供我链接的媒体插入到我的项目自述文件中以显示gif和图片。 一旦我认为我的实现成功,就从开发分支创建了一个pull请求,将所有更改合并到master中。 我通过克隆项目并运行它进行了快速检查。 中提琴,一切似乎都正常。 此时,我创建了一个发行版,并为其指定了版本号。 椰子足🍫 这很容易成为整个旅程中最困难的部分。 部分原因是因为我以前没有发布过Pod,但从中学到了很多。 以下是重要的痛点: 创建一个podspec文件。 这是Pod脚本读取的文件,以了解有关项目的所有信息。 它由您的项目在github上的位置,在cocoapods.org上创建相应的pod版本的版本号,源文件所在的位置,源文件的扩展名等组成。 我只需要假设Cocoapods.org上提供的详细信息对于像我这样的初学者来说就足够了,但是如果需要像我这样的人,我仍然会继续详细介绍整个过程。 确保您的系统上安装了cocoapod。 如果您不确定,请按照以下步骤开始操作。 […]

在iOS中管理文件

最近,我一直在iOS中使用“文件”,与Android相比有点复杂。 因此,在这篇文章中,我想介绍如何为用户从我们的应用程序预览,打开,共享,保存或打印来自远程URL的文件 。 首先,这是您需要从Apple提供的UIDocumentInteractionController文档中了解的内容。 使用此类提供用于预览,打开,复制或打印指定文件的适当的用户界面。 显示其用户界面后,文档交互控制器将处理支持文件预览和菜单显示所需的所有交互。 您还可以使用委托来参与所显示界面中发生的交互。 在文件可以出现在“文件”应用中之前,您必须指示您的应用支持“ 就地打开和已启用文件共享” 。 这些选项是使用Info.plist文件中的键配置的。 第一个键是UIFileSharingEnabled ,它使iTunes可以共享“文档”文件夹中的文件。 第二个键是LSSupportsOpeningDocumentsInPlace ,它授予本地文件提供者对Documents文件夹中文件的访问权限。 将这些键添加到Info.plist并将其值设置为YES 。 UIFileSharingEnabled:应用程序支持iTunes文件共享 LSSupportsOpeningDocumentsInPlace:支持就地打开文档 在转到代码之前,这里需要了解一些UIDocumentInteractionController实例属性和方法。 实例属性 url标识本地文件系统上目标文件的URL。 ( 请注意, url属性需要本地文件系统上文件的URL,而不是 文件 的远程URL ,即“ https://…”。如果您仍然提供远程URL来测试会发生什么,请告诉我,应用程序将崩溃 ***由于未捕获的异常“ NSInternalInconsistencyException”而终止应用程序,原因:“ UIDocumentInteractionController:无效的方案https”。 仅支持文件方案。’*** 2. uti目标文件的类型。 此属性的值用于确定哪些应用程序能够打开文档。 3. name目标文件的名称。 此属性包含没有任何先前路径信息的文件名。 此属性的默认值是从url属性中的路径信息派生的。 实例方法 presentPreview(animated :)方法 此方法异步显示文档预览。 文档交互控制器响应于适当的用户交互而自动关闭文档预览。 您也可以使用dismissPreview(animated:)方法以编程方式关闭预览。 情况1:假设您在远程URL上有一些文件,您想为用户下载该文件,并允许他们在他们希望的任何地方存储/共享。 请注意,用户iPhone中所有支持目标文件类型的应用程序都将显示在操作表的应用程序列表中。 用户可以将文档保存到iCloud,投递箱,本地文件,相册(如果支持目标文件类型)或他/她希望的任何位置! 😃 情况2:假设您在用户iPhone的某些应用中获得了一些文件,您希望他们在他们希望存储/共享的任何地方 在上面的代码中,您不需要在tempURL中存储任何内容,您只需要在url属性中提供适当的文件路径,为“ com.adobe.pdf”更正uti和文件名即可。 然后,使用presentPreview(animated:)方法,您可以轻松进行👍🏼 为了撰写这篇文章,我从网上的一些文章中获得了参考。 […]