Реагировать собственный модуль, Cocoapod файл не найден

голоса
0

Я строй модуля для React Native, как часть этого, есть некоторый родной IOS код , который завернут в cocoapod. У меня это работает отлично, и я могу установить cocoapod и увидеть родные классы от RN стороны без проблем. Один из родных классов пытаются получить путь к локальному mp3 файлу внутри папки к югу proj/Audio/file.mp3. Используя следующий ObjC код:NSString *path = [[NSBundle mainBundle] pathForResource:@file ofType:@mp3 inDirectory:@Audio];

Это возвращается nilи, таким образом вызывая ошибку при попытке получить NSURLфайл. У меня есть mp3 расширение добавляемого к podspec@ s.source_files = ios/**/*.{h,m,swift,mp3}поэтому он двигается файл через. Тем не менее, я полагаю , я должен быть что - то отсутствует , как это в конечном счете не может найти файл.

Я пошел в Xcode исходного проекта и добавил mp3файл в Copy filesфазе на этапах сборки. Я также уверен , что файл был связан с мишенью. Я не уверен , что еще я мог не быть в этот момент для того , чтобы не быть в состоянии найти.

Задан 03/12/2019 в 00:00
источник пользователем
На других языках...                            


1 ответов

голоса
0

Вместо того , чтобы поместить файл mp3 в source_filesвашей podspec, попробуйте использовать resource_bundles; обратитесь к документации здесь . В основном это позволяет определить файлы пакета ресурсов , которые CocoaPods создает для вас с активами , которые вы укажете, например:

s.resource_bundles = {
'Audio' => ['ios/**/*.mp3']
} 

Вы можете загрузить пакет ресурсы файла, CocoaPods созданной (создать NSBundleобъект из его URL по его имени - Audioв приведенном выше примере, и расширение - bundle), а затем получить путь от ресурсов внутри этого пучка (тот же самый метод , который вы использовали на mainBundle) ,

Ответил 04/12/2019 в 11:26
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more