Watchkit 中的 SPErrorGizmoInstallNeverFinishedErrorMessage

SPErrorGizmoInstallNeverFinishedErrorMessage in Watchkit

我正在 运行ning 一个使用应用程序组的 watchkit 应用程序,但我似乎根本无法 运行ning。每当我尝试 运行 应用程序时,我都会收到一条提示 "SPErrorGizmoInstallNeverFinishedErrorMessage"。 我的 glance 控制器中的代码相对较短。

let sharedGroupName = NSBundle.mainBundle().objectForInfoDictionaryKey("Shared Group") as! String

var sharedDefaults:NSUserDefaults!

override func willActivate() {

    super.willActivate()

    sharedDefaults = NSUserDefaults(suiteName: sharedGroupName)

    var timer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: Selector("update"), userInfo: nil, repeats: true)

}

func update() {

    println(sharedDefaults?.valueForKey("timeMessage") as! String)

}

我的 ViewController.swift 中的代码也很短,也只是设置了这个共享默认对象:

let sharedGroupName = NSBundle.mainBundle().objectForInfoDictionaryKey("Shared Group") as! String
var sharedDefaults:NSUserDefaults!
sharedDefaults?.setObject(timeMessage.text, forKey: "timeMessage")
sharedDefaults?.synchronize()

此错误使我无法 运行安装任何 watchkit 应用程序。不是主应用程序或一瞥或通知。 我有一个在 info.plist 中列出的应用程序组。 我有一个应用程序组名称的自定义构建设置。 任何帮助将不胜感激。

如果您想使用群组与 IOS 应用程序和使用 NSUserdefault 的 Apple Watch 套件共享数据,您可以按照以下步骤操作: 1. 在 IOS targets app 和 target watch kit 的 capabilities 部分添加 group app id 2.当你想保存数据到NSUSerDefault:

  var groupData = NSUserDefaults(suiteName: "group.demoShareData")
// note that suiteName is group app id 
//        var str = "demotest"
        groupData?.setObject(newYearLabel.text, forKey: "timeRemaining")
        groupData?.synchronize()

3。当你想从 NSuserDefault:

中获取数据时
 var groupData = NSUserDefaults(suiteName: "group.demoShareData")
        groupData?.synchronize()

        if groupData?.objectForKey("timeRemaining") != nil {
                var str = groupData?.objectForKey("timeRemaining") as String
                    println("str \(str)")
            self.myLabel.setText(str)

        } else {
            println("error")
        }

希望对您有所帮助:)

我解决了这个问题,方法是转到模拟器的手表配套应用,取消选中手表应用的安装,然后重新打开它。没有其他工作。

经过反复试验,我通过从计算机上拔下外接显示器来解决此问题。我不知道这是否是真正的问题。我所知道的是,当我插入外接显示器时出现此错误,而当我拔下它时错误消失了。我测试了几次。

唯一对我有用的是在模拟器中重置内容和设置。在 Apple Watch 设置应用程序中关闭和打开手表应用程序对我没有帮助。

我在 Xcode 8.3 中找到了解决方案。确保构建设置 "Targeted Device Family" 在 WatchKit 扩展中设置为 iPhone。

通过阅读其他 Apple Developer 论坛消息,SPErrorGizmoInstallNeverFinishedErrorMessage 似乎是在 Watch App info.plist 的设置无效时发生的。

我正在尝试不同版本的 WKCompanionAppBundleIdentifier,那是我的错误。当我删除复制的行时,它又起作用了。

对我来说,是 "Targeted Device Family" 设置

对于父级应用,您可以保留它 iPhone/iPad(或 iPhone,由您决定);
对于 watchkitextension,将其设置为 iPhone;
对于watchkitapp,如果想在模拟器中运行,设置为iPhone。对于实际设备,该值似乎是 4(截至 20150416 还不能直接从 Xcode 设置)

当我在 info.plist 文件中添加自定义键时,此消息开始出现。

我把模拟器里的App删了,重新安装了。似乎有效。

我尝试了其他几个选项。

除了重启 Simulator & Clean-build 应用程序,我什么也没做,然后它再次运行。 :)

CMD SHIFT K - 清理 命令 运行 - 运行

错误消失了!