Я пытаюсь загрузить файл .metal из своего пакета фреймворка для вставки некоторого динамического кода шейдера.
Я включил его в ресурсы пакета Копирование, а не в источники компиляции.Файл имеет целевое членство каркаса.
Не работает следующая защита:
guard let metalFile = Bundle(identifier: kBundleId)!.url(forResource: fileName, withExtension: "metal", subdirectory: "../Shaders") else {
throw MetalError.fileNotFound("\(fileName).metal")
}
Примечания
Файл расположен в ../ Shaders, поэтому вне проекта, не уверен, что это может вызвать какие-либо проблемы ..
Файл .metal - это просто шаблон, это может быть просто файл .txt, но приятно иметь встроенную ошибку временипроверка.
У меня загружаются другие металлические файлы, хотя .metallib
Обновление 1
Я переместил файл в свой проект и считаю, что мойдругой .metallib вмешивается:
Отображение всех сообщений: -1: неожиданное дублирование задачи: MetalLink /Users/hexagons/.../Pixels.framework/default.metallib (в целевой «Пиксели»)
Обновление 2
Проверено изменение расширения файла на .txt
Нет подсветки кода для меня ..
Но это работает!