【问题标题】:Unity - using Fabric causes problems with iOSUnity - 使用 Fabric 会导致 iOS 出现问题
【发布时间】:2023-03-05 16:46:01
【问题描述】:

我们在 Unity 游戏中使用 Fabric 和 Crashlytics,在使用 Unity 构建 iOS 项目并在 Xcode 中启动后,我们收到大约 26 个错误:

Undefined symbols for architecture armv7:
  "_OBJC_CLASS_$_FABNetworkResponseHandler", referenced from:
      objc-class-ref in Crashlytics(CLSNetworkClient.o)
  "_OBJC_CLASS_$_CLSURLSession", referenced from:
      objc-class-ref in Crashlytics(CLSNetworkClient.o)
  "_OBJC_CLASS_$_FABCertificatePinner", referenced from:
      objc-class-ref in Crashlytics(CLSNetworkClient.o)
  "_FABGenerateUUID", referenced from:
      -[CLSAnalyticsIdentifierGenerator generateSessionFragmentIdentifier] in Crashlytics(CLSAnalyticsIdentifierGenerator.o)
      -[CLSAnalyticsIdentifierGenerator generateEventIdentifier] in Crashlytics(CLSAnalyticsIdentifierGenerator.o)
  "_FABApplicationShouldReportDeviceIdentifiers", referenced from:
      +[CLSAnalyticsMetadataController identifierForAdvertising] in Crashlytics(CLSAnalyticsMetadataController.o)
  "_FABHostGetOSVersion", referenced from:
      _CLSHostGetNormalizedOSVersion in Crashlytics(CLSHost.o)
  "_FABApplicationInstallationSource", referenced from:
      +[CLSBetaController isBetaSupported] in Crashlytics(CLSBetaController.o)
      -[CLSBetaController appInstallationSource] in Crashlytics(CLSBetaController.o)
  "_CLSMachOFormatVersion", referenced from:
      _CLSBinaryImageRecordMainExecutable in Crashlytics(CLSBinaryImage.o)
  "_FABHostGetNormalizedOSVersion", referenced from:
      _CLSBetaToken in Crashlytics(CLSBetaToken.o)
  "_OBJC_CLASS_$_FABURLBuilder", referenced from:
      objc-class-ref in Crashlytics(CLSBetaController.o)
      objc-class-ref in Crashlytics(CLSReportsController.o)
  "_FABApplicationGetShortBundleVersion", referenced from:
      ___CLSContextInitialize_block_invoke26 in Crashlytics(CLSContext.o)
      -[CLSBetaController appDisplayVersion] in Crashlytics(CLSBetaController.o)
      +[CLSAnalyticsMetadataController bundleShortVersion] in Crashlytics(CLSAnalyticsMetadataController.o)
  "_OBJC_CLASS_$_FABNetworkClient", referenced from:
      objc-class-ref in Crashlytics(CLSBetaController.o)
      objc-class-ref in Crashlytics(CLSAnalyticsNetworkingClient.o)
  "_OBJC_CLASS_$_FABMultipartMimeStreamEncoder", referenced from:
      objc-class-ref in Crashlytics(CLSAnalyticsNetworkingClient.o)
      objc-class-ref in Crashlytics(CLSReportsController.o)
      objc-class-ref in Crashlytics(CLSPackageReportOperation.o)
  "_FABNetworkMaximumRetryCount", referenced from:
      ___51-[CLSBetaController loadUpdateWithCompletionBlock:]_block_invoke in Crashlytics(CLSBetaController.o)
      -[CLSAnalyticsNetworkingClient transmitLogFilesAtURLs:toURL:withAPIKey:completionHandler:] in Crashlytics(CLSAnalyticsNetworkingClient.o)
  "_OBJC_CLASS_$_CLSURLSessionConfiguration", referenced from:
      objc-class-ref in Crashlytics(CLSNetworkClient.o)
  "_OBJC_CLASS_$_CLSUserDefaults", referenced from:
      objc-class-ref in Crashlytics(CLSAnalyticsController.o)
  "_FABApplicationGetBundleVersion", referenced from:
      ___CLSContextInitialize_block_invoke26 in Crashlytics(CLSContext.o)
      -[CLSBetaController appBuildVersion] in Crashlytics(CLSBetaController.o)
      +[CLSAnalyticsMetadataController bundleVersion] in Crashlytics(CLSAnalyticsMetadataController.o)
  "_FABEnumerateByteRangesOfNSDataUsingBlock", referenced from:
      -[CLSPackageReportOperation compressData:toPath:] in Crashlytics(CLSPackageReportOperation.o)
  "_FABApplicationGetName", referenced from:
      -[CLSBetaUpdate promptMessage] in Crashlytics(CLSBetaUpdate.o)
  "_FABSettingsAvailableNotification", referenced from:
      -[CLSAnalyticsController initWithSessionIdentifier:sessionTimestamp:analyticsRootDirectoryWithURL:betaToken:identifierGenerator:timestampGenerator:metadataController:networkingClient:] in Crashlytics(CLSAnalyticsController.o)
      -[CLSBetaController start] in Crashlytics(CLSBetaController.o)
  "_FABApplicationGetBundleIdentifier", referenced from:
      ___30-[Answers startWithBetaToken:]_block_invoke in Crashlytics(Answers.o)
      ___CLSContextInitialize_block_invoke26 in Crashlytics(CLSContext.o)
      -[CLSBetaController appBundleIdentifier] in Crashlytics(CLSBetaController.o)
      -[CLSCrashReportingController bundleIdentifier] in Crashlytics(CLSCrashReportingController.o)
      -[CLSFileManager pathNamespace] in Crashlytics(CLSFileManager.o)
      +[CLSAnalyticsMetadataController bundleIdentifier] in Crashlytics(CLSAnalyticsMetadataController.o)
  "_FABHostOSBuildVersion", referenced from:
      ___20-[Crashlytics start]_block_invoke in Crashlytics(Crashlytics.o)
      _CLSHostRecord in Crashlytics(CLSHost.o)
      +[CLSAnalyticsMetadataController hostOSVersion] in Crashlytics(CLSAnalyticsMetadataController.o)
  "_FABHostModelInfo", referenced from:
      ___20-[Crashlytics start]_block_invoke in Crashlytics(Crashlytics.o)
      _CLSHostRecord in Crashlytics(CLSHost.o)
      +[CLSAnalyticsMetadataController hostModel] in Crashlytics(CLSAnalyticsMetadataController.o)
      +[CLSAnalyticsMetadataController hostMachine] in Crashlytics(CLSAnalyticsMetadataController.o)
  "_FABHostOSDisplayVersion", referenced from:
      ___20-[Crashlytics start]_block_invoke in Crashlytics(Crashlytics.o)
      _CLSHostRecord in Crashlytics(CLSHost.o)
      +[CLSAnalyticsMetadataController hostOSVersionName] in Crashlytics(CLSAnalyticsMetadataController.o)
  "_FABBuiltinCertificates", referenced from:
      +[CLSBetaController pinnnedCertificates] in Crashlytics(CLSBetaController.o)
      +[CLSNetworkClient pinner] in Crashlytics(CLSNetworkClient.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

知道如何解决这个问题吗?我检查了 Unity 中的文件,似乎一切都正常导入。

【问题讨论】:

  • 可以是任意数量的东西。我会从这个开始。 stackoverflow.com/questions/6429494/…
  • 检查了“Link Binary With Libraries”以及“Build Phases”以及那里建议的其他一些解决方案,但根本没有帮助。

标签: ios xcode unity3d crashlytics twitter-fabric


【解决方案1】:

通过在 Unity 中重新导入整个 Fabric SDK 以某种方式修复它 - 因此删除项目中有关 Fabric 和 Crashlytics 的所有文件,然后再次导入 Fabric。

【讨论】:

  • 谢谢,这解决了我的问题。
猜你喜欢
  • 2016-09-08
  • 1970-01-01
  • 2023-04-04
  • 1970-01-01
  • 2014-12-26
  • 2015-04-03
  • 1970-01-01
  • 2022-01-27
  • 1970-01-01
相关资源
最近更新 更多