我想制作一个 iPhone 应用程序,它将一些信息本地保存在应用程序文件夹中,并且我还希望在不同设备上安装的其他应用程序上共享这些信息。
我举个例子:
在我的应用程序中,我可以读取和写入文件,并且可以将其内容保存在本地。始终在此应用程序中,有一个“共享”按钮,我可以通过该按钮将书面文件发送(例如通过电子邮件)给安装了相同应用程序的另一个用户。是否有可能在不通过矿山服务器的情况下做类似的事情,或者有必要在两个客户端应用程序之间建立基础设施以允许它们通信?
在属于同一用户的两台设备之间共享文件的选项包括iCloud和DropBox。如果只有 iOS,前者可能是最简单的。
编辑:
我接受了“设备之间共享”的概念,但现在才注意到您正在谈论在两个不同的人之间发送文件。那是一个完全不同的蜡球。如果不同的人,那么这些都不适合(虽然 DropBox 可以在用户之间共享,但我怀疑 API 并不完全适合)。
对您来说不幸(但对我们其他人有好处),您不能让您的应用程序在目标设备上读取/拦截电子邮件。但是,如果可以,您可以定义自己的文件扩展名,通过电子邮件发送这样的文件,并且当删除 iPhone 收到文件时,当用户打开文件时,设备会知道打开您的应用程序(如果应用程序已安装)。Ray Wenderlich 的文章中讨论了这种情况。
如果这不是一个选项,那么您肯定会谈论编写自己的服务器代码来接收、保存和根据请求将文件传递给目标用户。如果这是不可接受的,您将不得不分享一些关于应用程序如何知道一个用户正在向其他人发送内容的细节(不依赖于以编程方式接收电子邮件或 SMS)。而且,如果您不想将文件存储在服务器上,而是通过 Internet 直接对设备进行操作,您可能仍需要服务器来协调该过程。