我在模拟器上的WatchOS4中制作URLBGTask时遇到的这个错误是什么?
2017-09-28 16:05:26.452999+0900 MiFollowers WatchKit Extension[4628:4012814] [bg_app_refresh] -[WKRefreshBackgroundTask cleanupStorage]_block_invoke:213: Error attempting to reach file:///Users/ryuuzaki/Library/Developer/CoreSimulator/Devices/2E4D6389-93B7-4542-B07F-9A02C720B9AF/data/Containers/Data/PluginKitPlugin/FA4415DF-D984-4394-80B9-EDA199AB587E/Library/com.apple.watchkit/bktaskapp_(null): Error Domain=NSCocoaErrorDomain Code=260 "The file “bktaskapp_(null)” couldn’t be opened because there is no such file." UserInfo={NSURL=file:///Users/ryuuzaki/Library/Developer/CoreSimulator/Devices/2E4D6389-93B7-4542-B07F-9A02C720B9AF/data/Containers/Data/PluginKitPlugin/FA4415DF-D984-4394-80B9-EDA199AB587E/Library/com.apple.watchkit/bktaskapp_(null), NSFilePath=/Users/ryuuzaki/Library/Developer/CoreSimulator/Devices/2E4D6389-93B7-4542-B07F-9A02C720B9AF/data/Containers/Data/PluginKitPlugin/FA4415DF-D984-4394-80B9-EDA199AB587E/Library/com.apple.watchkit/bktaskapp_(null), NSUnderlyingError=0x79b0e340 {Error Domain=NSPOSIXErrorDomain Code=2 "No such file or directory"}}
你们中任何一个聪明的人都知道这一切意味着什么?
用于后台任务的 WatchOS 代码需要WKExtention.shared().delegate将 设置为self,但现在显示一条错误消息:
无法分配给属性:“delegate”是一个只能获取的属性
如果我删除该行,则在触发后台任务时我不会收到更新,因为我以前可以接收。
我上下查看了 StackOverflow 以及 Google 和 Apple 文档,但找不到答案。为什么该行在以前工作正常时现在显示错误。
创建一个新的 WatchKit 应用程序并InterfaceControllerVC.swift
添加WKExtensionDelegate到类中,然后:
override func awake(withContext context: Any?) {
super.awake(withContext: context)
WKExtension.shared().delegate = self
}
Run Code Online (Sandbox Code Playgroud)
线路:
WKExtension.shared().delegate = self
Run Code Online (Sandbox Code Playgroud)
被标记为红色并显示错误为:
无法分配给属性:“delegate”是一个只能获取的属性
我已经尝试过KeyDown和NSEvent,但它们需要一个NSWindow对象才能处于活动状态。我希望我可以将一个应用程序放在状态栏上,并在用户按下CapsLock时提醒用户,即使用户在任何其他应用程序中也是如此。我的应用程序创意没有用于设置或其他任何内容的窗口,只是一个指示器。还可以做到吗?我猜测AppDelegate但不知道如何让它接收修饰符事件。任何帮助真的很感激!
我在堆栈溢出上查找了“重复”,但据我搜索,没有人问过这个问题。