NSUserDefaults 无法在带有 Watch OS2 的 Xcode beta 上工作

2023-12-06

我刚刚安装了最新的 Xcode 测试版来尝试Swift 2以及对 Apple Watch 开发部分所做的改进。

我实际上很难弄清楚为什么这个基本NSUserDefaults之间共享信息的方法iOS and 观看 OS2不工作。

我跟着this 一步步教程检查我是否在此过程中遗漏了某些内容,例如为电话应用程序和分机打开同一组,但这是我得到的:NOTHING.

这是我为 iPhone 应用程序中的 ViewController 编写的内容:

import UIKit

class ViewController: UIViewController {
    @IBOutlet weak var lb_testo: UITextField!
    let shared_defaults:NSUserDefaults = NSUserDefaults(suiteName: "group.saracanducci.test")!
    var name_data:NSString? = ""

    override func viewDidLoad() {
        super.viewDidLoad()

        name_data = shared_defaults.stringForKey("shared")
        lb_testo.text = name_data as? String
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }

    @IBAction func upgrade_name(sender: AnyObject) {
        name_data = lb_testo.text
        shared_defaults.setObject(name_data, forKey: "shared")

        lb_testo.resignFirstResponder()
        shared_defaults.synchronize()
    }
}

这是我在 WatchKit 的 InterfaceController 中的内容:

import WatchKit
import Foundation

class InterfaceController: WKInterfaceController {
    @IBOutlet var lb_nome: WKInterfaceLabel!
    let shared_defaults:NSUserDefaults = NSUserDefaults(suiteName: "group.saracanducci.test")!
    var name_data:NSString? = ""

    override func awakeWithContext(context: AnyObject?) {
        super.awakeWithContext(context)
    }

    override func willActivate() {
        super.willActivate()

        if (shared_defaults.stringForKey("shared") != ""){
            name_data = shared_defaults.stringForKey("shared")
            lb_nome.setText(name_data as? String)
        }else{
            lb_nome.setText("No Value")
        }
    }

    override func didDeactivate() {
        super.didDeactivate()
    }
}

我做了一些测试,看起来 iOS 应用程序和 Watch OS 利用了不同的组......他们不分享信息,他们将它们存储在本地。

有人有同样的问题吗?知道如何修复它吗?


使用 watch OS2,您无法再使用共享组容器。苹果文档:

观看使用共享组与其 iOS 应用共享数据的应用 容器必须重新设计才能以不同的方式处理数据。在 watchOS 2 中, 每个进程必须管理本地中任何共享数据的自己的副本 容器目录。对于实际共享和更新的数据 这两个应用程序,这需要使用 Watch Connectivity 框架 在它们之间移动该数据。

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

NSUserDefaults 无法在带有 Watch OS2 的 Xcode beta 上工作 的相关文章

随机推荐

  • 如何使用快速排序在列表列表中按索引排序

    我正在尝试使用快速排序对索引 1 处的列表列表进行排序 例如 list 2 5 3 2 4 9 0 9 1 1 1 1 4 7 5 我希望能够做到这一点 按索引 1 排序 quickSort list output list 1 1 1 2
  • PHP邮件/PEAR邮件

    在我的目录网站上 我有 发送电子邮件 功能 这允许用户向公司提交查询 此查询的副本也会发送到我的收件箱 几个月前 我注意到我的收件箱不再收到电子邮件副本 所以我对此进行了调查 结果发现我的网络主机不再允许使用 PHP 邮件功能发送外部电子邮
  • 创建新索引时统计信息是否会自动更新?

    创建索引后运行更新统计信息有什么好处吗 或者它会自动为您完成吗 如果新索引需要新的统计信息 它们会自动创建 除非您通过以下方式明确禁用新索引的统计信息计算CREATE INDEX WITH STATISTICS NORECOMPUTE ON
  • 下一个兄弟组合器不应该与复杂的选择器一起使用

    TL DR 根据规范 以下内容不应该起作用 但它确实起作用 a b b margin top 20px Details 根据规格 下一个同级组合器 或 相邻同级组合器 应该仅适用于 简单选择器序列 其本身已定义 as 不被组合器分隔的一系列
  • Objective-C 委托类型

    在 Objective C 中创建委托时 假设委托 id
  • 如何从 Google Apps 脚本发出 Gmail API 批量请求?

    例如 我需要在以下场景中进行批量请求 使用后Gmail Users Threads list 我想做几个Gmail Users Threads get threadId 批量操作 我正在谈论类似的事情gapi client newBatch
  • Xcode:Interface Builder XIB 编译器错误

    Xcode 5 1 1 和 OS X 10 9 3 我打开 Xcode 并启动一个新的 Cocoa 项目 然后我点击运行 构建失败 我收到以下错误消息 Interface Builder XIB Compiler Error Interfa
  • if else 语句反转

    我想要的结果是第二个 if else 语句 如果代码不在列表中 则发出警报 我不明白为什么第一个 if else 语句失败 我认为只需反转第二个 if else 语句 我误解了什么吗 https jsfiddle net e6qohvhc
  • 如果值比闭包寿命更长,那么在闭包之间共享引用的正确方法是什么?

    我想分享两个闭包之间的引用 在一个闭包中可变地 这是一种人为的情况 但我发现在学习 Rust 的背景下它很有趣 为了使它工作 我必须利用Rc Weak and RefCell 有没有更简单的方法来实现这一目标 use std cell Re
  • 多个 和 标签

    我正在尝试创建一个非常简单的 Web 应用程序 基本上是为了了解 HTML5 CSS 和 JavaScript 编码的最佳实践 我的应用程序有 3 4 页 每一页都使用相同的菜单标题 所以我想通过将其写入单独的文件 PHP 或 HTML 来
  • get_headers 不一致[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 运行以下代码 var dump get headers
  • 在 Makefile 中链接 cURL

    通过源代码安装 cURL 后 我需要在 Ubuntu 11 04 中链接 cURL 问题的修正 首先我发现 l必须先于 L然后发现我没有在 makefile 中输入变量 获取 cURL 配置 在我的终端上 curl config libs
  • UIBezierPath + CAShapeLayer - 动画填充一个圆圈[重复]

    这个问题在这里已经有答案了 我正在尝试对 CAShapeLayer 的路径进行动画处理 以便获得圆形 填充 到特定数量的效果 问题 它 有效 但不是AS尽管我认为它可能很顺利 但我想对其进行一些缓和 但因为我正在单独为每个 设置动画 所以我
  • JSONEncoder 不允许将类型编码为原始值

    我正在致力于实施Codable for an enum类型与可能的关联值 由于这些对于每种情况都是独特的 所以我认为我可以在编码期间不带密钥地输出它们 然后简单地看看在解码时可以得到什么 以恢复正确的情况 这是一个非常精简的 人为的示例 演
  • pip install 生成“找不到满足要求的版本”[重复]

    这个问题在这里已经有答案了 我有一个包已上传到 test pypi 我可以在我的计算机上的虚拟环境中安装这个软件包 没有任何问题 pip install index url https test pypi org simple packag
  • 对于某些在线编译器,扫描器 next() 会抛出 NoSuchElementException

    这似乎是一个常见问题 多次询问 但我无法找到这种行为的解释 以下代码可以在一个编译器中运行 但会抛出异常Exception in thread main java util NoSuchElementException在另一个编译器中 Sc
  • Spacy -- ImportError:preshed.maps 未导出预期的 C 函数 map_clear

    我正在尝试导入spacy徒然 gt gt gt import spacy Traceback most recent call last File
  • 如何将Flash(.swf)放入页面中?

    我计划使用 swf 文件作为标题 这是行不通的 img src exactheader swf width 650 height 140 你能告诉我怎么做吗 试试这个
  • 集群内无法访问 Kubernetes POD

    我尝试安装Kubernetes with kubeadm在 3 个虚拟机上Debian我的笔记本电脑上的操作系统 一个作为主节点 另外两个作为工作节点 我完全按照教程做的kubernetes io建议 我用命令初始化了集群kubeadm i
  • NSUserDefaults 无法在带有 Watch OS2 的 Xcode beta 上工作

    我刚刚安装了最新的 Xcode 测试版来尝试Swift 2以及对 Apple Watch 开发部分所做的改进 我实际上很难弄清楚为什么这个基本NSUserDefaults之间共享信息的方法iOS and 观看 OS2不工作 我跟着this