在不同设备上的 iOS 应用程序之间传递数据

Passing data between an iOS app on different devices

我正在寻找将嵌套数组 [[String]] 从我的应用程序传递到另一个 iPhone.

上的同一应用程序的最佳和高效方法

举例来说,我在我的应用程序中保存了这个数组:

let array = [[“John”, “27”, “First”, “Castle”],[“Tom”, “25”, “Second”, “Boat”]]

我想在我的应用程序上添加一个共享按钮,允许在 2 iPhone 秒之间通过 Bluetooth/Airdrop/Any 便捷方式共享此数组。

理想情况下点击分享,通过空投,其他用户点击接受并点击打开应用程序。并加载数据。为了实现这一目标,最好的方法是什么。我查看了 Share Extension 和 UIActivityViewController,但看不出它们有什么区别,也看不出什么最适合我的情况,只是简单地从我的应用程序发送数据和从我的应用程序接收数据。

一个选项(可能也是最简单的)是使用 iCloud,特别是 NSUbiquitousKeyValueStore。

更多信息在这里: https://developer.apple.com/documentation/foundation/nsubiquitouskeyvaluestore

根据您所说的,

您可以只使用 UIActivityViewController 将您的数据导出到 AirDrop(或其他) 并使用导出的 UTI,您的应用程序可以在检测到它后打开它。

对于共享,您将必须使用自定义数据格式(或文件),您可以参考此post、

为了阅读您的自定义文件,这里有一个关于如何实施导出的 UTI 的很好的教程 https://www.raywenderlich.com/8413525-universal-type-identifiers-tutorial-for-ios-importing-and-exporting-app-data

干杯, 凯尔

使用 UIActivityViewController 使用 AirDrop 导出数据。当它检测到导出的 UTI 时,您可以在其他 phone 上的应用中读取相同内容。