Наше приложение для iOS имеет собственный пакет с каталогом ресурсов (файл .car). Это была установка начиная с iOS 9. Извлечение ресурсов изображения и их использование до сих пор не было проблемой с iOS 13 на Xcode 11 (не уверен, работает ли он, когда приложение собрано с xcode 10 и работает на iOS 13).
Вот как пакет используется в приложении: ![screenshot](https://i.stack.imgur.com/LuHhi.png)
Пакет выбирается с помощью этого кода:
let bundlePath = Bundle.main.path(forResource: "TheResource", ofType: "bundle")!
var bundle = Bundle(path: bundlePath)
Теперь, когда я печатаю эту переменную bundle
, я получаю следующее:
(lldb) po bundle
▿ Optional<NSBundle>
- some : NSBundle </Users/xyz/Library/Developer/CoreSimulator/Devices/SE8C7E9D-76AF-4564-B21B-78DC990F3D2E/data/Containers/Bundle/Application/PD422A04-B4C8-42F0-A5CB-9465AC70D3A2/abc.app/TheResource.bundle> (not yet loaded)
(lldb) po bundle.loadAndReturnError()
Error Domain=NSCocoaErrorDomain Code=4 "The bundle “TheResource” couldn’t be loaded because its executable couldn’t be located." UserInfo={NSLocalizedFailureReason=The bundle’s executable couldn’t be located., NSLocalizedRecoverySuggestion=Try reinstalling the bundle., NSBundlePath=/Users/xyz/Library/Developer/CoreSimulator/Devices/SE8C7E9D-76AF-4564-B21B-78DC990F3D2E/data/Containers/Bundle/Application/PD422A04-B4C8-42F0-A5CB-9465AC70D3A2/abc.app/TheResource.bundle, NSLocalizedDescription=The bundle “TheResource” couldn’t be loaded because its executable couldn’t be located.}
Это ответ, который я получаю как на устройстве iOS 12, так и на iOS13 устройство. Но ресурсы нормально работают на iOS 12.
Я пробовал следующие вещи безрезультатно:1. Поскольку существует проблема с Xcode 11, генерирующим несколько путей, генерирующих одну и ту же ошибку файла, я переименовал каталог активов .car из Assets.car в нечто более описательное. 2. вызвал .load () для переменной bundle, чтобы попытаться загрузить его, так как он постоянно говорил, что не загружен. 3. Попытался загрузить изображения с расширением, также попытался добавить некоторые черты и использовать метод UIImage(named: <name>, in: <bundle>, compatibleWith: <traits>)
.
Нашел этот вопрос на яблочном форуме , но это немного отличается от поведения, которое я вижу.
Понятия не имею, почему ресурсы загружаются нормально, когда приложение построено с Xcode 11 и работает на iOS 12, но не загружаются при запуске на устройствах / симуляторах iOS 13.
Любая помощь будетбыть оцененным, я ошеломлен этой проблемой. Спасибо!