Используйте пакеты ресурсов в CocoaPods - PullRequest
0 голосов
/ 31 мая 2018

Я делаю модуль (MySDK) и хотел бы загрузить ресурсы из отдельных пакетов ресурсов, генерируемых CocoaPods.

Однако я не могу заставить его работать.

Вот как я пытался загрузить раскадровку:

let storyBoard = UIStoryboard(name: "SDK", bundle: Bundle(identifier:"org.cocoapods.SchedJoulesSDK"))

Это выдает ошибку:

'Не удалось найти раскадровку с именем' SDK 'в комплекте

Пакет добавлен в Xcode:

А мой podspec выглядит так:

  s.resource_bundles = {
    'MySDK' => ['SDK/*/*.{xib,storyboard,xcassets}']
  }

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 12 июля 2018

У меня та же проблема, если я использую только строку пакета:

    s.resource_bundles = {
        'MySDK' => ['SDK/*/*.{xib,storyboard,xcassets}']
    }

Я получаю сбой во время выполнения, когда ссылаюсь на свою раскадровку.Однако, если я явно добавлю каждую раскадровку в качестве ресурса, вот так:

s.resources = ["Resources/MyStoryboard.storyboard", "Resources/MyStoryboard2.storyboard"]

Все работает нормально.Я не думаю, что нам нужно явно добавлять каждую раскадровку как ресурс, но я не смог заставить ее работать каким-либо другим способом.

Одна вещь, которую вы могли бы попробовать, - это изменить ссылку на пакет ресурсов.рекурсивный поиск в ваших папках с номенклатурой **, подобной этой:

s.resource_bundles = {
    'MySDK' => ['SDK/**/*.{xib,storyboard,xcassets}']
}
0 голосов
/ 31 мая 2018

Вы можете использовать как ...

s.resource  = "icon.png" //for single file

или

s.resources = "Resources/*.png" //for png file

или

s.resources = "Resources/**/*.{png,storyboard}" //for storyboard and png files

или

s.resource_bundles = {
   "<ResourceBundleName>" => ["path/to/resources/*/**"]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...