watchAppExtension 中的 NSUserDefault 更改通知处理

2023-11-23

我正在创建一个  手表应用程序,只是为了当用户点击 iPhone/主机应用程序中的表格视图时在手表上显示值。

我想收到共享值更改的通知UserDefault。它在 WatchKit 应用程序和 iOS(主机)应用程序之间共享,因此当用户在主机应用程序中进行任何更改时,我希望收到通知。我做了以下事情:

当用户在应用程序(主机应用程序)中执行某些操作时:

NSUserDefaults *shared = [[NSUserDefaults alloc] initWithSuiteName:@"group.app"];
id object = [self.plantsArray objectAtIndex:[self.plantsTable indexPathForSelectedRow].row];
[shared setObject:object forKey:@"data"];
[shared synchronize];

在 Watchkit 扩展中已注册通知:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(print) name:NSUserDefaultsDidChangeNotification object:nil];

但不幸的是我没有收到任何通知,有人有解决方案吗?


我不认为iOS有能力distributed notifications在应用程序和扩展程序之间,通知在两者之间不起作用,相反,您需要找到一种方法让两者都可以监视更改。例如文件。

正如您已经创建的group,您可以在组文件夹中保留一个文件并添加一个filewatcher在扩展中,从应用程序更新文件,并且filewatcher会抓住变化,你的工作就完成了。

For filewatcher看代码here.

希望能帮助到你。

Cheers.

Update

Find File watcher Swift version here。谢谢@rivera用于添加。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

watchAppExtension 中的 NSUserDefault 更改通知处理 的相关文章

  • iOS 8 支持动态链接吗?

    直到 iOS7 之前 出于安全考虑 Apple 都不支持动态链接 开发人员之间的代码重用通常依赖于静态库 这些静态库是作为应用程序可执行文件的一部分构建的 在 iOS8 中引入扩展似乎稍微改变了这一点 因为扩展是单独的可执行文件 扩展及其包
  • TDD iOS 教程 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 您好 我正在寻找非常好的 iOS TDD 教程 请您帮助我 什么是最好的 iOS TDD 书籍 博客
  • 删除 UICollectionView 中的最后一个单元格会导致崩溃

    您好 我正在使用自定义 UICollectionView https github com SureCase WaterfallCollectionView https github com SureCase WaterfallCollec
  • 如何在 iOS 中查找蓝牙音频设备

    好的 我正在开发一个有趣的项目 该项目有一个障碍 我需要为我的 iOS 应用程序启用蓝牙音频支持 我遇到的障碍是我什至无法开始获取已连接的蓝牙音频设备的列表 即使我的 iPhone 5S 可以识别我的耳机 大约 3 4 岁的耳机 LG HB
  • 如何将导航栏大标题转换为多行,居中对齐

    我正在尝试设计具有多行居中大标题文本的视图控制器 就像苹果的 Ask Siri Settings gt General gt Keyboards gt About Ask Siri Dictation and Privacy 我可以使用以下
  • 如何在 iOS 上压缩 Realm DB?

    我想定期压缩 iOS 上的 Realm 实例以回收空间 我认为该过程是将数据库复制到临时位置 然后将其复制回来并使用新的default realm 文件 我的问题是Realm 其行为就像单例并回收对象 因此我无法真正关闭它并告诉它打开新的
  • 将第 3 方库 ZXing 导入 Xcode

    我尝试了多种方法将第 3 方库 ZXing 导入我的 iOS 应用程序 但所有方法都很痛苦 或者根本不起作用 如果有人可以建议我做错了什么 或者提出导入 ZXing 等库的更好方法 我将非常感激 一定比这个容易 这就是我所做的 结果是 My
  • 是否有针对不同屏幕尺寸的单独故事板?

    基本上我已经完成了一个应用程序 我唯一的问题是 ATM 机应用程序在设计时只考虑了 4 英寸显示屏 当在 3 5 英寸模拟器上运行时 应用程序会丢失 0 5 英寸 显然 那么我的问题是 如何在 Xcode 5 中为不同的屏幕尺寸设置不同的故
  • ios 用户如何取消 Facebook 登录?

    当用户到达此屏幕时 无法取消 我能做些什么 为了首先获得这个视图 我正在运行 NSMutableDictionary params NSMutableDictionary dictionaryWithObjectsAndKeys vid l
  • NSString – 静态还是内联?有性能提升吗?

    如果我写的话会有任何性能提升吗 NSString helloStringWithName NSString name static NSString formatString Hello return NSString stringWith
  • 如何替换已弃用的方法dispatch_get_current_queue()? [复制]

    这个问题在这里已经有答案了 我正在 iOS 5 中使用 xmppframework 开发一个聊天应用程序 它工作得很好 但我将 Xcode 更新到 4 5 1 将 iOS 5 更新到 iOS 6 将 Mac OS 更新到 10 7 5 但由
  • 网站在 iPhone 屏幕右侧显示空白区域

    我遇到问题http eiglaw com http eiglaw com iPhone 屏幕右侧显示约 25 像素宽的空白 边框 我在 stackoverflow 上研究了这个问题 这些帖子是相关的 但是当我尝试提供的各种解决方案时 我无法
  • 在横向中自动调整 UITableCells 内容的大小

    在 UITableView 中 我通过 UILabels 将内容添加到单元格中 定义最佳尺寸 与单元格宽度允许的一样大 我注意到只有tableView contentSize width是可靠的 因为cell contentView bou
  • 如何知道我的应用程序使用了多少 iCloud 空间?

    有没有办法查看我的应用程序正在备份到 iCloud 的内容以及它消耗了多少内存 Settings gt iCloud gt Storage Backup gt Manage Storage将显示正在备份的总计内容 iOS 会备份位于应用程序
  • 带操作按钮的颤动本地通知

    我在我的 flutter 项目中尝试了 flutter 本地通知插件 它在简单通知上工作正常 但我需要带有操作按钮的通知功能 请帮助我或建议我实现此功能 不幸的是 flutter local notifications 插件尚不支持操作按钮
  • 当地图视图只是屏幕的一部分时,如何在 iOS 模拟器中进行捏合?

    我在 iPad 上有一个视图 我正在添加MKMapView也就是说 全屏高度的一半 然而 当我尝试在 iOS 模拟器上进行捏合时 它不起作用 因为 to nubs 填充了模拟器上的整个 iPad 视图 And so with the map
  • 如何使用 Swift 使用 TouchID?

    Apple 为 iOS 8 的 TouchID 实现提供的文档采用 Objective C 语言 有 Swift 版本吗 Objective C IBAction touchIDAvailable UIButton touchIDAvail
  • 如何在 React Native 中构造 POST 请求主体,而不是使用字符串化的 json,而是使用 json?

    我正在努力用 React Native 替换一些本机代码 预期的 POST 请求 在AFNetworking in Charles应该是这样的 代码片段 NSError err NSData paramData NSJSONSerializ
  • Firebase 身份验证问题 - 通过电子邮件地址检查用户是否存在

    我在 Firebase 上创建了一个帐户 它有效 但现在我想阻止人们使用已存在的电子邮件地址创建帐户 这是代码 DatabaseManager shared userExists with email completion weak sel
  • Apple Watch 预构建操作可更改故事板 customModule 引用

    我目前有一个项目 其中包含同一应用程序的 3 个不同版本 不同的品牌等 该项目运行得很好 从那时起 我添加了 3 个新的 Apple Watch 目标 每个应用程序 版本 1 个 其中 2 个引用 主 Apple Watch 目标中的文件

随机推荐

  • 使用 Delphi 进行 JNI 编程

    我可以用Delphi来编程吗Java 本机接口 来自阅读基本 JNI如果您确保使用 C 调用约定 这似乎是可能的 以前有人这样做过吗 我希望得到有关工具的提示 这些工具将有帮助 例如一个将Javah的C头文件转换为Delphi的工具 您可以
  • 文本缩进不适用于锚标记

    http jsfiddle net corinem TtPgy 我在用着 a href Lorem ipsum dolor a css a text indent 9999px 但这行不通 例如 当我使用另一个标签时 p 有用 我也尝试添加
  • ASP.NET Core 模型绑定错误消息本地化

    我正在使用 ASP NET Core 并尝试本地化该应用程序 我设法使用new用于本地化控制器和视图的 asp net core 资源 以及old用于本地化模型验证错误消息的资源 但是 当错误消息未链接到模型字段注释 如 必需 并且模型绑定
  • 从 inotify_event 检索完整路径名

    inotify event 结构如下所示 struct inotify event int wd Watch descriptor uint32 t mask Mask of events uint32 t cookie Unique co
  • 带有 src 和内容的 script-Tag 是什么意思?

    Google 1 按钮的示例 script 标签有一个 src Attributeand内容 这是什么意思以及它是如何工作的 不同的浏览器对此有不同的处理方式 有些仅在以下情况下运行内容 src包含在内 没有错误 有些人在尝试包含以下内容后
  • Python RuntimeWarning:长标量中遇到溢出

    我是编程新手 在我最新的 Python 2 7 项目中 我遇到了以下问题 RuntimeWarning long scalars 中遇到溢出 有人可以详细说明这意味着什么以及我可以做些什么来解决这个问题吗 代码运行完毕 但我不确定忽略警告是
  • UiBinder 小部件中的自定义属性

    我正在为我的应用程序使用 GWT 和 UiBinder 并且我正在尝试这样做
  • orWhereHas - Eloquent 查询上的参数分组 - 如何在 Laravel 中执行此操作?

    在我正在构建的雄辩查询中 我对has使用 Laravel 4 1 的关系whereHas and orWhereHas方法 在示例足球应用程序中 我希望对homeClub and awayClub关系 以便我可以在结果集中选择 homeCl
  • 仅允许在核心图条形图中水平滚动?

    I am using core plot lib to draw bar charts in my app like this 我的问题是我希望仅在水平方向上启用图形移动 以便我可以长时间看到记录 但问题是我只是不想将 y 轴固定在其位置
  • 如何在Android中将菜单设置为工具栏

    我想用ToolBar代替ActionBar 但不要在工具栏中显示菜单 我想要套餐 例如Refresh or Setting按钮ActionBar Toolbar xml代码
  • 用于查找对的压缩矩阵函数

    对于一组观察结果 a1 a2 a3 a4 a5 他们的成对距离 d 0 a12 a13 a14 a15 a21 0 a23 a24 a25 a31 a32 0 a34 a35 a41 a42 a43 0 a45 a51 a52 a53 a5
  • 以编程方式启动 .NET Core Web 应用程序进行 Selenium 测试

    我目前正在尝试在核心 Web 应用程序上设置一些 UI 测试 但是我无法启动该 Web 应用程序 直接使用 Web 应用程序目录中的 dotnet run 命令行即可 当我在执行测试之前尝试使用 Process 运行它时 问题就出现了 没有
  • Math.floor(Math.random() * 5 + 1) 的概念,真实范围是多少,为什么?

    通过将随机数 介于 0 和 1 之间 乘以 5 我们将其设为 0 到 5 之间的随机数 例如 3 1841 Math floor 将此数字向下舍入为整数 并在末尾添加 1 将范围从 0 到 4 更改为 1 到 5 之间 最多 包括 5 上面
  • 如何使用 schemaLocation 或 noNamespaceSchemaLocation 将 XML 链接到 XSD?

    我找到了一些解决这个问题的提示 但仍然没有帮助我 这是我的 XML
  • onClickListener 在片段中不起作用

    我在片段中的 onClicklistener 上遇到了一些问题 如果我点击按钮什么也不会发生 我既没有从 Logcat 中的 onClicklistener 收到消息 屏幕上也没有出现 Toast 但我在代码中找不到错误 有任何想法吗 我将
  • Access 数据库的连接池

    我有一个应用程序经常从 Access 数据库读取数据 有什么方法可以使用连接池吗 我的开放数据库方法 private bool OpenDatabaseConnection string databaseName try string co
  • WiX 权限,如何用 DACL 标志表达“修改”

    我正在尝试将自定义权限应用于文件夹作为 WiX 3 0 4318 0 安装程序的一部分 就资源管理器中的安全属性 UI 而言 我想添加修改 BUILTIN Users 的权限 显然 它需要能够抵抗用户名的本地化 因此 根据我迄今为止的研究
  • jQuery 在鼠标移开时隐藏 div

    我看了很多关于这个项目的帖子 但找不到正确的解决方案 抱歉 如果它已经在某处得到回答 我想要的是 我有一个DIV与我的菜单项 当click事件被触发href元素 现在我想隐藏菜单 当鼠标离开时DIV元素并且不在上面href元素 到目前为止
  • vue-socket.io 如何连接到多个 websocket 服务器

    我尝试从 VUE 客户端连接到两个不同的 Web 套接字服务器vue socket io像这样 import store from store store import store2 from store store2 Vue use Vu
  • watchAppExtension 中的 NSUserDefault 更改通知处理

    我正在创建一个 手表应用程序 只是为了当用户点击 iPhone 主机应用程序中的表格视图时在手表上显示值 我想收到共享值更改的通知UserDefault 它在 WatchKit 应用程序和 iOS 主机 应用程序之间共享 因此当用户在主机应