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 - запустить

ошибка исчезает!