Получить URL-адрес папки из пакета во время выполнения или запретить сглаживание папки.IOS

Программируем под IOS
Ответить
Anonymous
 Получить URL-адрес папки из пакета во время выполнения или запретить сглаживание папки.

Сообщение Anonymous »

У меня есть проект Xcode следующей структуры:

Код: Выделить всё

projectName
│
└── Component
│
└── Assets
│
├── subfolder
│   ├── subfolderA
│   ├── subfolderB
│   ├── subfolderC
│   ├── subfolderD
│   ├── fileA
│   ├── fileB
│   ├── fileC
│
├── fileD
├── fileE
├── fileF

...
Мне нужно получить URL-адрес файлаA и самой подпапки.
Я могу надежно получить URL-адрес файлаA вот так:

Код: Выделить всё

private var fileURL: URL? = Bundle.main.url(forResource: "fileA", withExtension: "js")
Как получить URL-адрес или путь к подпапке? Я пробовал несколько подобных вещей:

Код: Выделить всё

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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»