gpt4 book ai didi

objective-c - WatchKit:Swift - 如何获取数据并将其放入位于我的 iPhone App 文档文件夹中的 sqlite 数据库中

转载 作者:行者123 更新时间:2023-11-28 06:39:23 24 4
gpt4 key购买 nike

我有一个使用 SQLite 数据库的 iOS 应用程序。这很好用。现在,我添加了一个 WatchKit 应用程序扩展,并希望连接到位于我的 iPhone 应用程序的文档文件夹中的现有数据库。

有人可以告诉我怎么做吗?

我已经创建了一个应用程序组(所有扩展都相同)。

如果重要的话,iOS 应用是用 Objective-C 编写的, watch 应用是用 Swift 编写的。

Screenshot of iPhoneApp and WatchApp

最佳答案

自 watchOS 2 起,watch 应用程序无法再访问共享应用程序组中的数据,因为 watch 应用程序扩展现在在 watch 上运行,而不是在 iPhone 上运行。

共享应用程序组不会完成您想要的。你必须使用 Watch Connectivity完成你想要的。

方法一:

维护两个独立的数据库——一个在手机上,一个在 watch 上——并使两个独立的数据库保持同步。

如果 watch 需要访问任何和所有数据,并且必须独立于手机运行(如果手机无法触及),这将非常有用。

transferUserInfo非常适合这种方法,在手机和 watch 之间同步新的、更新的或删除的潜水计划。

您还可以 transfer the entire database在手机和 watch 之间,但这通常比仅发送更改更节能。

方法 2:

只将当前上下文传输到 watch ,这样用户可以扫一眼 watch ,看到手机显示的相同信息。

对于像您的潜水应用程序这样的东西,它可能只传输最近或即将到来的潜水计划,而不是在较小的屏幕上显示每个潜水计划。

updateApplicationContext非常适合这种方法,传递应该在 watch 上显示的最新信息。

关于objective-c - WatchKit:Swift - 如何获取数据并将其放入位于我的 iPhone App 文档文件夹中的 sqlite 数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38389201/

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