ios – 使用WatchOS共享领域数据

ios – 使用WatchOS共享领域数据,第1张

概述在我的项目中,我想在我的iOS 10应用程序和我的watchOs 3应用程序中同时使用一个Realm数据库.所以我所做的是将框架添加到三个不同目标的嵌入式二进制文件中.这恰好工作得很好但是watchKit扩展似乎不能识别我在iOS环境中创建的对象.如何在这两个设备之间建立共享的Realm数据库? 更新: 好的,多亏了 chrisamanse的单挑,我对此做了更多的研究. 事实证明,watchOS 在我的项目中,我想在我的iOS 10应用程序和我的watchOs 3应用程序中同时使用一个Realm数据库.所以我所做的是将框架添加到三个不同目标的嵌入式二进制文件中.这恰好工作得很好但是watchKit扩展似乎不能识别我在iOS环境中创建的对象.如何在这两个设备之间建立共享的Realm数据库?解决方法 更新:
好的,多亏了 chrisamanse的单挑,我对此做了更多的研究.

事实证明,watchOS 2上的应用程序组不再可用.观看应用程序不再作为手机上的扩展程序运行;它们现在是两个孤立的进程,没有任何共享资源.

因此,这意味着有必要在手表和手机上维护单独的Realm文件,并通过WatchConnectivity框架传达对其所做的任何更改.

原版的:
iOS应用程序和扩展(Today Widgets和watchOS应用程序)需要被视为它们各自独立容器中的两个完全独立的实体.默认情况下,扩展程序无法访问其父应用程序的容器内的任何文件.如果您要将Realm文件保存到默认路径(即“documents”文件夹),那么watchOS应用程序无法从那里访问它.

值得庆幸的是,可以使用iOS的“应用程序组”功能来指定父iOS应用程序和watchOS应用程序都可以访问的共享文件夹,并且可以读取和写入其中的任何Realm文件.

在应用中启用应用组权限后,只需将Realm文件的位置设置为指向该位置即可.

let sharedContainerURL = NSfileManager.defaultManager().containerURLForSecurityApplicationGroupIDentifIEr("group.my.appgroups.bundleID")!let realmURL = sharedContainerURL.appendingPathComponent("SharedRealm.realm")let realmConfiguration = Realm.Configuration()realmConfiguration.fileURL = realmURLlet realm = try! Realm(configuration: realmConfiguration)

a tutorial on the Realm website解释了如何更详细地完成这项工作,但是API和Swift版本在这一点上已经过时了.

总结

以上是内存溢出为你收集整理的ios – 使用WatchOS共享领域数据全部内容,希望文章能够帮你解决ios – 使用WatchOS共享领域数据所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/web/1062779.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存