SPErrorGizmoInstallNeverFinishedErrorMessage в Watchkit
Я запускаю приложение watchkit, которое использует группы приложений, и я не могу заставить его работать вообще. В любое время, когда я пытаюсь запустить приложение, я получаю предупреждение, в котором говорится: "SPErrorGizmoInstallNeverFinishedErrorMessage".
Код в моем контроле взгляда относительно короткий.
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.
У меня есть настраиваемая настройка для имени групп приложений.
Любая помощь будет принята с благодарностью.
Ответы
Ответ 1
После долгих проб и ошибок я смог исправить это, отключив внешний экран с моего компьютера. Был ли это реальный вопрос, которого я не знаю. Все, что я знаю, это то, что когда у меня был подключен внешний монитор, я получил эту ошибку, и когда я отключил его, ошибка исчезла. Я тестировал его несколько раз.
Ответ 2
Я исправил эту проблему, перейдя в приложение для совместного просмотра симулятора, сняв флажок с установки для приложения часов, а затем снова включил его. Ничего больше не работало.
Ответ 3
Единственное, что сработало для меня, это Reset Контент и настройки в симуляторе. Переключение приложения часов в приложение "Настройки Apple Watch" не делало этого для меня.
Ответ 4
Из чтения других сообщений форума разработчиков Apple, SPErrorGizmoInstallNeverFinishedErrorMessage
, похоже, возникает, когда у App App.plist есть недопустимая настройка.
Я пытался использовать разные версии WKCompanionAppBundleIdentifier
, и это была моя ошибка. Когда я удалил скопированную строку, это сработало снова.
Ответ 5
Это сообщение появилось, когда я добавил пользовательские ключи в файл info.plist.
Ответ 6
Для меня это были настройки "Целевое семейство устройств"
Для родительского приложения вы можете сохранить его iPhone/iPad (или iPhone, до вас);
Для watchkitextension установите его на iPhone.
Для watchkitapp, если вы хотите запустить в симуляторе, установите его на iPhone. Для фактического устройства значение кажется равным 4 (которое вы не можете установить непосредственно из Xcode еще с 20150416)
Ответ 7
Я ничего не делал, кроме как перезапускать приложение Simulator и Clean-build, а затем снова работал.:)
Ответ 8
Если вы хотите использовать группу для совместного использования данных с помощью приложения IOS и набора часовых поясов с помощью NSUserdefault, вы можете выполнить следующие действия:
1. Добавьте идентификатор группового приложения в возможности части приложения IOS для целевых приложений и целевого набора часов
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")
}
Надеюсь, что эта помощь:)
Ответ 9
Я нашел решение в Xcode 8.3. Убедитесь, что параметр сборки "Целевое семейство устройств" установлен на iPhone в расширении WatchKit.
Ответ 10
Я удалил приложение из симулятора и переустановил. Казалось, что он работает.
Я попробовал пару других вариантов.
Ответ 11
CMD SHIFT K - чистый
CMD RUN - запустить
ошибка исчезает!