в Unity У меня просто есть файл afile.ts, сидящий в Assets /
Во встроенном Xcode я просто хочу, чтобы он находился в папке проекта (действительно, в любом месте, в порядке), включенной в проект.
Вы делаете это, используя
project.AddFileToBuild(g, something something something);
Но я просто не могу понять .
(Очевидно, в Unity это совершенно недокументировано.)
Как это сделать? Только один простой файл - фактически скопируйте его из Assets / filename в проект Xcode (и он будет иметь целевое членство и находиться в основном комплекте).
Вот идеальный пост-скрипт сборки Unity BuildPostProcessor.cs, который удивителен и делает все остальное:
https://stackoverflow.com/a/54370793/294884
но я не могу скопировать проклятый файл! Как?
Примечание - альтернатива
Примечание. Если вы очень просто поместите файл в магическую папку Unity с плохим названием:
/ StreamingAssets
фактически он делает именно то, что обсуждается в этом QA.
- Unity .. есть файл music.mp4 или mesh.txt в / StreamingAssets
- сборка в Xcode
- у вас будет файл music.mp4 или mesh.txt в проекте Xcode, включенный в Target
- и расположение iOS будет ...
имя папки на iOS по какой-либо причине становится: / Data / Raw
Таким образом, ваш низкоуровневый код стороны iOS будет:
вместо, например:
CFURLRef imageURL = CFBundleCopyResourceURL(
mainBundle, CFSTR("music"), CFSTR("mp4"), NULL);
у вас будет:
CFURLRef imageURL = CFBundleCopyResourceURL(
mainBundle, CFSTR("Data/Raw/music"), CFSTR("mp4"), NULL);
Это отлично работает. Но, конечно, мы можем научиться использовать .AddFileToBuild, который, кажется, существует для этой цели.