Unity - 使用Fabric会导致iOS出现问题

时间:2016-04-01 20:35:00

标签: ios xcode unity3d crashlytics twitter-fabric

我们在Unity游戏中使用Fabric with 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中的文件,似乎一切都输入正常。

1 个答案:

答案 0 :(得分:1)

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