Почему я получаю эту ошибку, связанную с `_kFIRLoggerInstanceID`?

#ios #firebase #linker-errors #crashlytics #undefined-symbol

# #iOS #firebase #компоновщик-ошибки #crashlytics #неопределенный символ

Вопрос:

Я пытаюсь обновить наше приложение для iOS с Fabric Crashlytics 3.10.2 до Firebase Crashlytics 7.1.0. Я в основном справился с ошибками, и я следовал нескольким руководствам, и я искал в Google, но я не могу избавиться от этой ошибки при связывании:

 Ld /Users/ben_l/Library/Developer/Xcode/DerivedData/REDACTED-gzomtisvvdgyztddvpqujqxqsmjs/Build/Products/Debug-iphoneos/REDACTED.app/REDACTED normal (in target 'REDACTED' from project 'REDACTED')
    cd /Users/ben_l/Software/REDACTED
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -target arm64-apple-ios13.0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.2.sdk -L/Users/ben_l/Library/Developer/Xcode/DerivedData/REDACTED-gzomtisvvdgyztddvpqujqxqsmjs/Build/Products/Debug-iphoneos -L/Users/ben_l/Software/REDACTED/Frameworks -F/Users/ben_l/Library/Developer/Xcode/DerivedData/REDACTED-gzomtisvvdgyztddvpqujqxqsmjs/Build/Products/Debug-iphoneos -F/Users/ben_l/Software/REDACTED/Frameworks -F/Users/ben_l/Software/REDACTED/Frameworks/IntuneMAM -filelist /Users/ben_l/Library/Developer/Xcode/DerivedData/REDACTED-gzomtisvvdgyztddvpqujqxqsmjs/Build/Intermediates.noindex/REDACTED.build/Debug-iphoneos/REDACTED.build/Objects-normal/arm64/REDACTED.LinkFileList -Xlinker -rpath -Xlinker @executable_path/Frameworks -dead_strip -Xlinker -object_path_lto -Xlinker /Users/ben_l/Library/Developer/Xcode/DerivedData/REDACTED-gzomtisvvdgyztddvpqujqxqsmjs/Build/Intermediates.noindex/REDACTED.build/Debug-iphoneos/REDACTED.build/Objects-normal/arm64/REDACTED_lto.o -Xlinker -export_dynamic -Xlinker -no_deduplicate -fobjc-arc -fobjc-link-runtime -L/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphoneos -L/usr/lib/swift -Xlinker -add_ast_path -Xlinker /Users/ben_l/Library/Developer/Xcode/DerivedData/REDACTED-gzomtisvvdgyztddvpqujqxqsmjs/Build/Intermediates.noindex/REDACTED.build/Debug-iphoneos/REDACTED.build/Objects-normal/arm64/REDACTED.swiftmodule -lc   -ObjC -DBUILDING_FOR_MOBILE -framework Security -framework SystemConfiguration -framework SystemConfiguration -framework CoreTelephony -framework UIKit -framework Security -framework QuartzCore -lz -framework StoreKit -lsqlite3 -lc   -lz -framework REDACTED -framework AudioToolbox -framework FirebaseAnalytics -framework FIRAnalyticsConnector -framework GoogleAppMeasurement -framework CFNetwork -framework EVReflection -framework ImageIO -lsqlite3 -framework IntuneMAM -lc   -licucore -framework LocalAuthentication -framework nanopb /Users/ben_l/Library/Developer/Xcode/DerivedData/REDACTED-gzomtisvvdgyztddvpqujqxqsmjs/Build/Products/Debug-iphoneos/REDACTED.framework/REDACTED -framework IntuneMAM -framework MediaPlayer -framework GoogleToolboxForMac -framework WebKit -framework REDACTED -framework QuartzCore -framework QuickLook -framework UIKit -framework Foundation -framework CoreGraphics -framework Security -framework MSAL -framework MessageUI -framework SystemConfiguration -framework CoreFoundation -framework MobileCoreServices -framework FirebaseNanoPB -framework AdSupport -framework FirebaseInstanceID -framework ReactiveObjC -framework CoreLocation -framework DSI -framework CoreTelephony -framework CoreData -Xlinker -no_adhoc_codesign -Xlinker -dependency_info -Xlinker /Users/ben_l/Library/Developer/Xcode/DerivedData/REDACTED-gzomtisvvdgyztddvpqujqxqsmjs/Build/Intermediates.noindex/REDACTED.build/Debug-iphoneos/REDACTED.build/Objects-normal/arm64/REDACTED_dependency_info.dat -o /Users/ben_l/Library/Developer/Xcode/DerivedData/REDACTED-gzomtisvvdgyztddvpqujqxqsmjs/Build/Products/Debug-iphoneos/REDACTED.app/REDACTED -Xlinker -add_ast_path -Xlinker /Users/ben_l/Library/Developer/Xcode/DerivedData/REDACTED-gzomtisvvdgyztddvpqujqxqsmjs/Build/Intermediates.noindex/Eureka.build/Debug-iphoneos/Eureka.build/Objects-normal/arm64/Eureka.swiftmodule

Undefined symbols for architecture arm64:
  "_kFIRLoggerInstanceID", referenced from:
      -[FIRInstanceIDLogger logFuncDebug:messageCode:msg:] in FirebaseInstanceID(FIRInstanceIDLogger_0c879e312576b1b79740d2f19907597f.o)
      -[FIRInstanceIDLogger logFuncInfo:messageCode:msg:] in FirebaseInstanceID(FIRInstanceIDLogger_0c879e312576b1b79740d2f19907597f.o)
      -[FIRInstanceIDLogger logFuncNotice:messageCode:msg:] in FirebaseInstanceID(FIRInstanceIDLogger_0c879e312576b1b79740d2f19907597f.o)
      -[FIRInstanceIDLogger logFuncWarning:messageCode:msg:] in FirebaseInstanceID(FIRInstanceIDLogger_0c879e312576b1b79740d2f19907597f.o)
      -[FIRInstanceIDLogger logFuncError:messageCode:msg:] in FirebaseInstanceID(FIRInstanceIDLogger_0c879e312576b1b79740d2f19907597f.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
 

Кто-нибудь здесь знает, как обойти это?

Ответ №1:

Согласно ошибкам, вам не хватает компонентов для платформы ARM64.

Я бы сначала установил все библиотеки разработки, виртуальную машину и т. Д. Для ARM64.

Приветствия.

Комментарии:

1. Что вы имеете в виду? Я пытаюсь установить это в установленный продукт iOS. Он отлично работал в течение многих лет, но выдает эту ошибку, когда я пытался обновиться до новейшей платформы Crashlytics для iOS

2. Вы использовали Fabric Crashlytics 3.10.2 для создания своего приложения для iOS. Для создания приложений используется программное обеспечение, имеющее виртуальную машину для эмуляции различных платформ. Поддержка разных платформ занимает много места и является модульной, поэтому вы можете установить поддержку для одной или нескольких архитектур. Для ошибки, которой вы поделились, кажется, что вам не хватает зависимостей для сборки архитектуры ARM64, как это было определено в вашем первоначальном проекте.

3. Другая возможность заключается в том, что используемый вами компонент Logger не поддерживал arm64, только arm32. Может быть, вы генерировали только для arm32?. Сколько лет приложению ?.

4. Apple прекратила поддержку 32-разрядных архитектур ARM в 2017 году, но наше приложение отлично работает на современных устройствах. Кодовая база устарела, но все еще работает и загружается в App Store. Это показывает мне, что он отлично поддерживает AArch64 / ARM64. Возможно, вы правы, но если это так, я этого не вижу