Код: Выделить всё
projectName
│
└── Component
│
└── Assets
│
├── subfolder
│ ├── subfolderA
│ ├── subfolderB
│ ├── subfolderC
│ ├── subfolderD
│ ├── fileA
│ ├── fileB
│ ├── fileC
│
├── fileD
├── fileE
├── fileF
...
Я могу надежно получить URL-адрес файлаA вот так:
Код: Выделить всё
private var fileURL: URL? = Bundle.main.url(forResource: "fileA", withExtension: "js")
Код: Выделить всё
private var subfolderURL: URL? = Bundle.main.url(forResource: "subfolder", withExtension: nil)
Я знаю, что ресурсы находятся в пакете, и это подтверждено на этапе «Фазы сборки» > «Копировать ресурсы пакета».
Когда приложение работает на моем симуляторе, если я распечатаю URL-адрес файла, это будет примерно так:
Код: Выделить всё
~/Library/Developer/CoreSimulator/Devices/{UUID}/data/Containers/Bundle/Application/{UUID}/{AppName}.app/fileA.js
Я использую WKWebView и добавляю в него немного HTML с элементом , которому требуется URL-адрес подпапки:
Код: Выделить всё
require.config({
paths: { 'subfolder': '\(subfolderURL)' }
});
Есть есть ли способ сделать это?
Недавно был похожий вопрос. В ответе очень мало информации и неработающая ссылка, которая предположительно решила всю проблему.
Примечание: подпапка — это синяя папка (ссылка, а не группа) в Навигаторе проекта. В разделе «Фазы сборки» > «Копировать ресурсы пакета» ни сама подпапка, ни какая-либо из папок внутри нее не отображаются как отдельные элементы, но все содержащиеся в них файлы отображаются. Например, есть строка для fileA.js... в projectName/Component/Assets/subfolder или someFile.js... в projectName/Component/Assets/subfolder/subfolderA.
Я использую Xcode 16.2.
Подробнее здесь: https://stackoverflow.com/questions/793 ... g-flattene
Мобильная версия