好的,多亏了 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共享领域数据所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)