Почему я должен скопировать ресурс Bundle в основной проект, чтобы использовать изображение в рамках? - PullRequest
0 голосов
/ 16 ноября 2018

Теперь у меня есть проект SDK, который встроен в основной проект, и я хочу использовать источник изображения в комплекте, который в проекте SDK, вот мой метод:

    let bdpath = Bundle.main.path(forResource: "AltynBankResource", ofType: "bundle")
    print("bundlePath:\(bdpath)")
    let bd = Bundle(path: bdpath ?? "")
   print("bundle:\(bd)")
    let img = UIImage.init(named: "ic_bg1", in: bd, compatibleWith: nil)
    print("img:\(img)")

, и он делаетне работаетпока я не скопирую исходный код пакета в основной проект.

, но я не понимаю, почему, я не использую изображение в основном проекте, но в файле SDK.почему я должен скопировать исходный код пакета в основной проект, чтобы использовать его?

1 Ответ

0 голосов
/ 16 ноября 2018

Проблема, с которой вы сталкиваетесь, заключается в том, что вы используете Main Bundle с Bundle.main, это займет пакет вашего приложения.

Я предполагаю, что часть кода находится внутри вашего SDK. Обычно я получаю пакет для SDK с [NSBundle bundleForClass:[self class]] в target-C.

В swift3.x это:

Bundle(for: type(of: self))

но я не могу предоставить вам пример swift, потому что я не использовал эту строку кода в swift.

Надеюсь, это поможет.

...