Фреймворк AudioKit, на который имеется ссылка, не распознается XCode

Когда я создаю новый проект XCode, который ссылается (в отличие от CocoaPods и т. Д.) На одну из фреймворков AudioKit, XCode не выполняет автозаполнение объявлений AudioKit, а явное объявление объекта AudioKit (например, AKMIDISampler) приводит к ошибке сборки: AKMIDISampler - это недоступен: не удается найти объявление Swift для этого класса.

Обычно проблема заключается в правильном вводе путей поиска фреймворка в XCode. Однако, несмотря на то, что я указал относительный путь к фреймворку как для моей цели, так и для своего проекта, я все равно получаю те же результаты.

Вполне вероятно, что это проблема всех сторонних фреймворков, но я задаю ее здесь, имея в виду AudioKit, поскольку я уже видел, как этот вопрос поднимался ранее в группе поддержки AudioKit в Google.

Как лучше всего настроить новый проект для использования AudioKit, чтобы AudioKit распознавался и выполнял автозаполнение?


person Eric George    schedule 13.11.2017    source источник


Ответы (1)


Я разработал решение и размещаю его здесь для использования в будущем.

Вот пошаговая инструкция по настройке AudioKit.

Обратите внимание на две вещи:

  1. Это решение было опубликовано с использованием XCode 9.1.
  2. Фреймворки AudioKit, используемые в этом решении, представляют собой предварительно созданные двоичные файлы, загруженные с http://audiokit.io/downloads/. Я поместил их в папку «Библиотеки» на 2 папки выше, чем я храню свои проекты.

Шаги:

  1. Создать новый проект в XCode
  2. Выберите соответствующую цель и в разделе «Встроенные двоичные файлы» выберите «+». Выберите «Добавить другое ...» и перейдите к правильной структуре AudioKit. Я оставляю флажок «Копировать элементы» не отмеченным, чтобы я мог обновлять фреймворк в одном месте на моем жестком диске при его изменении. Я также выбираю «Создать группы» вместо ссылок на папки, но я не уверен, что это помогает.
  3. Выберите «Параметры сборки» и перейдите в «Пути поиска фреймворка». В качестве цели поместите $ (унаследовано) в качестве пути поиска. Для проекта поместите $ (SRCROOT) /. Для меня это выглядит как $ (SRCROOT) /../../_ Libraries / AudioKit-iOS

Теперь вы можете импортировать AudioKit, и объявления должны разрешиться.

Шаг 3, описанный выше, обычно является наиболее неправильным. Многие ожидают, что SRCROOT подразумевается, и ожидают, что достаточно просто указать относительный путь, но это не так. Необходимо указать SRCROOT.

person Eric George    schedule 13.11.2017
comment
В документации AudioKit мы проинструктированы перетащить фреймворк в проект в разделе «Связанные фреймворки и библиотеки». Предположительно, это должно привести к автоматическому включению пути поиска, но в моем случае этого не произошло, и этот ответ исправил его. - person sinewave440hz; 13.08.2018