Попытка создать фреймворк с 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/"