Не удается запустить Apple Hapti c Sampler (образец проекта с веб-сайта Apple) - PullRequest
0 голосов
/ 02 августа 2020

Я загрузил образец проекта из здесь (hapti c sampler) и не могу запустить его из-за нескольких проблем. Я решил подписать идентификатор.

В сообщениях об ошибках говорится:

  • ~ / PlayingACustomHapticPatternFromAFile / HapticSampler / ViewController.swift: 66: 19: Тип «CHHapticEngine.StoppedReason» не имеет член gameControllerDisconnect

  • ~ / PlayingACustomHapticPatternFromAFile / HapticSampler / ViewController.swift: 68: 19: Тип CHHapticEngine.StoppedReason не имеет элемента engineDestroyed

  • Поток 1: Неустранимая ошибка: неожиданно обнаружен ноль при неявном развертывании необязательного значения

Вот мои вопросы.

  1. С вами случаются такие же проблемы?

  2. Как я могу решить эту проблему?

Вот моя спецификация среды.

  • macOS Catalina 10.15.6
  • Xcode 11.6
  • iPhone 7 iOS 13,6

введите описание изображения здесь

Ответы [ 3 ]

1 голос
/ 02 августа 2020

Hapti c обратная связь требует фактического устройства, поскольку в нем используется вибромотор. Его нельзя запустить на тренажере. Вот почему вы получаете сообщение об ошибке «Не удалось создать движок!». Чтобы исправить это, подключитесь к реальному устройству, выберите команду в «Подписывание и возможности» и запустите.

0 голосов
/ 02 августа 2020

Проблема в том, что перечисления

.gameControllerDisconnect

и

.engineDestroyed

были введены в iOS 14, Xcode 12 beta. Но вы используете более раннюю версию, поэтому, как говорится в сообщении об ошибке, их не существует.

0 голосов
/ 02 августа 2020

Замените следующие строки ViewController.swift Line 48 в функции createEngine().

if engine == nil {
    print("Failed to create engine!")
}

на:

guard let engine = engine else {
    print("Failed to create engine!")
    return
}

Это должно устранить текущие ошибки компиляции + выполнения. получение

...