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 - 清理
命令 运行 - 运行
错误消失了!
我正在 运行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 - 清理 命令 运行 - 运行
错误消失了!