gpt4 book ai didi

swift - 在 Swift/iOS 中的应用程序之间共享文件数据

转载 作者:搜寻专家 更新时间:2023-10-30 22:00:13 31 4
gpt4 key购买 nike

<分区>

我一直在研究如何在应用程序之间安全地共享数据。在我使用错误的方法深入研究实现之前,我想获得一些有关正确处理此问题的信息。仅仅因为你可以做某事并不一定意味着你应该做。

用户案例:我正在开发一套语言学习应用程序,这些应用程序具有包含数百个音频文件和包含与一种语言对应的重要数据的 json 文件的共享音频文件库。我希望允许用户在使用我们套件中的其他应用程序时不必重新下载语言包。

<强>1。应用扩展 - 文档提供者非 UI 变体

根据documentation :

The File Provider extension grants access to files outside the host app’s sandbox with the open and move actions. This extension (sometimes shortened here to file provider) also allows the host app to download files without presenting a document picker view controller. This feature lets the host app access previously opened documents using secure URL bookmarks, even if those files are no longer stored on the device.

从表面上看,这似乎是一个非常可靠的解决方案。我主要担心的是最后几行,其中声明应用程序可以下载不再存储在设备上的文件。我希望文件本地存储在设备上以防止不断下载。如果 Document Provider 确实将文件存储在本地并允许组中的各种应用程序访问这些文件,那么我认为这可行。

<强>2。共享钥匙串(keychain)访问

Allows you to securely store data to a shared keychain that other applications that are part of a suite of applications can access. All applications that share keychain access must use the same app ID prefix. For an example of shared keychain access in action.

我仔细研究了这个文件的文档,我认为这可能是最合适的。我对这个解决方案的主要关注是上传的数据是否有大小限制,以及是否允许 mp3/ogg/json 文件类型。我在这个解决方案中发现的大多数示例/用途都指向共享字符串和小数据,我不确定它是否会处理大数据,如 json 或音频文件。

我还找到了this repo这显然使处理钥匙串(keychain)更容易:

<强>3。自定义粘贴板

The custom pasteboard is best for the purpose of semi-privately sharing custom data between two applications. Custom pasteboards are identified using unique names. They can persist data beyond the application that creates them, allowing a pasteboard to hold onto data after the application is terminated or even after rebooting the device.

When writing or reading data to and from a pasteboard, you must specify a pasteboard type. Pasteboard types typically use a uniform type identifier (UTI) to identify the type of data going into and being retrieved from the pasteboard. See Apple’s UIPasteboard Class Reference documentation for additional information.

以上文档摘自 this post

我对这个解决方案的主要担心是它可能有点乱。从逻辑上讲,粘贴板似乎是临时保存数据并允许在应用程序之间共享的东西,而我正在寻找的解决方案需要更多的永久性解决方案。


如果能提供有关在应用之间共享这些类型文件的最佳做法的任何信息,我将不胜感激。我想我在这里省略了很多其他解决方案,所以如果有更好的选择,我会喜欢它的一些信息。如果它发生了,我在这里列出的解决方案之一是解决这个问题的好方法,我很乐意提供更多关于您与他们合作的经验的信息,以及我对他们的担忧是否有效,或者没有什么可担心的.

提前致谢。与往常一样,写得好的答案会获得投票;)

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com