Зависимость от сторонних разработчиков с Cocoapod - PullRequest
0 голосов
/ 01 августа 2020

Попытка создать фреймворк с Cocoapod, в который включены зависимости сторонних разработчиков. Однако я продолжаю получать следующую ошибку времени выполнения в xCode при запуске приложения. Я делаю здесь что-то не так, чтобы включить стороннюю зависимость в podspec / cocoapod?

dyld: Library not loaded: @rpath/FBLPromises.framework/FBLPromises Referenced from: /private/var/containers/Bundle/Application/FC9E49F9-5AE3-4A14-B472-332162237A08/abc.app/Frameworks/LibLogger.framework/LibLogger Reason: image not found

Symbolicate cra sh report

Thread 0 Crashed:
0   dyld                            0x0000000107c282e8 __abort_with_payload + 8
1   dyld                            0x0000000107c27928 abort_with_payload_wrapper_internal + 100
2   dyld                            0x0000000107c27958 fcntl + 0
3   dyld                            0x0000000107be88f4 dyld::fastBindLazySymbol+ 18676 (ImageLoader**, unsigned long) + 0
4   dyld                            0x0000000107beb7cc dyld::_main+ 30668 (macho_header const*, unsigned long, int, char const**, char const**, char const**, unsigned long*) + 5468
5   dyld                            0x0000000107be5044 _dyld_start + 68

Моя среда

  • xCode 11.6
  • Персональная группа (бесплатно cc)
  • Физическое устройство 12.1.2

Ниже показан файл .M, который выполняет метод logEvent с зависимостью от 3rdPartyLib. Для этого требуется метод LibLogger() из 3rdPartyLib LibLogger, поэтому я должен включить s.dependency 'LibLogger' в свой файл podspe c.

Файл MyBridge.M

#import "MyBridge.h"
#import <LibLogger/LibLogger.h>
#import <React/RCTLog.h>

@implementation MyBridge

RCT_EXPORT_MODULE(MyBridgeModule)

RCT_EXPORT_METHOD(deleteFile:(NSString *)fileUri){

}

RCT_EXPORT_METHOD(logEvent:(NSDictionary *)dictionary eventName:(NSString *)eventName) {
   [LibLogger logEvent:dictionary eventName:eventName];
 }

@end

podspe c для моего customLib

require "json"

package = JSON.parse(File.read(File.join(__dir__, "package.json")))

Pod::Spec.new do |s|
  s.name         = "react-native-custom-lib"
  s.version      = package["version"]
  s.summary      = package["description"]
  s.description  = <<-DESC
                  react-native-custom-lib
                   DESC
  s.homepage     = "https://github.com/github_account/react-native-custom-lib"
  # brief license entry:
  s.license      = "MIT"
  # optional - use expanded license entry instead:
  # s.license    = { :type => "MIT", :file => "LICENSE" }
  s.authors      = { "Your Name" => "yourname@email.com" }
  s.platforms    = { :ios => "9.0" }
  s.source       = { :git => "https://github.com/github_account/react-native-custom-lib.git", :tag => "#{s.version}" }

  s.source_files = "ios/**/*.{h,c,m,swift}"
  s.requires_arc = true

  s.dependency "React"
  s.dependency 'LibLogger'
   # s.ios.vendored_frameworks = 'LibLogger.framework'
end

package. json

"react-native-custom-lib": "file:../react-native-custom-lib/"
...