Вы можете встроить файл .metallib в исполняемый файл как раздел загрузчика, используя опцию -sectcreate <segname> <sectname> <path>
.Если вы используете компилятор для связывания (что довольно типично), вы должны передать это как -Wl,-sectcreate,<segname>,<sectname>,<path>
.Вы можете просто выбрать произвольные имена сегментов и разделов длиной до 15 символов.Избегайте имен с префиксом подчеркивания, поскольку они зарезервированы для системы.
Затем вы можете получить данные во время выполнения, используя getsectdata()
.Создайте NSData
из этого и передайте его -[MTLDevice newLibraryWithData:error:]
.