Apple Mach-O 链接器错误 - 架构 x86_64 的未定义符号:“_UISceneWillEnterForegroundNotification”和“___isPlatformVersio

Posted

技术标签:

【中文标题】Apple Mach-O 链接器错误 - 架构 x86_64 的未定义符号:“_UISceneWillEnterForegroundNotification”和“___isPlatformVersionAtLeast”【英文标题】:Apple Mach-O Linker Error - Undefined symbols for architecture x86_64: "_UISceneWillEnterForegroundNotification" and "___isPlatformVersionAtLeast" 【发布时间】:2020-01-14 22:37:40 【问题描述】:

我正在使用https://github.com/tinycreative/react-native-intercom 并在那里完成了安装和https://developers.intercom.com/installing-intercom/docs/ios-installation

这在一段时间内运行良好,然后突然开始。

  "_UISceneWillEnterForegroundNotification", referenced from:
      +[ICMBridge load] in Intercom(ICMBridge.o)
  "___isPlatformVersionAtLeast", referenced from:
      -[IntercomSDK_IntercomConversationCollectionViewController insetsForAccessoryView] in Intercom(IntercomConversationCollectionViewController.o)
      +[IntercomSDK_ITBUpload createUploadForMediaAsset:completion:] in Intercom(ITBUpload.o)
      +[IntercomSDK_ITBUpload processImageDataForUpload:mediaAsset:info:imageUploadDataUTI:completion:] in Intercom(ITBUpload.o)
      -[IntercomSDK_IIMInputAccessoryView createConstraints] in Intercom(IIMInputAccessoryView.o)
      -[IntercomSDK_IIMInputButtonContainerView createConstraints] in Intercom(IIMInputButtonContainerView.o)
      -[IntercomSDK_IIMMediaViewController updateCollectionViewContentInsets] in Intercom(IIMMediaViewController.o)
      -[IntercomSDK_IIMMediaViewController layoutExpandButton] in Intercom(IIMMediaViewController.o)
      ...
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

【问题讨论】:

【参考方案1】:

2019 年 9 月 12 日,Intercom 发布 sdk 版本 5.5.0,支持 iOS 13。

https://github.com/intercom/intercom-ios/releases/tag/5.5.0

UISceneWillEnterForegroundNotificationisPlatformVersionAtLeast 在 iOS SDK 13 中,因此需要 Xcode 11 beta。我认为您收到错误是因为您使用的是早期的 Xcode 版本,例如 Xcode 10.3 等。

理想情况下,Intercom 应该有条件地支持 iOS 13 的东西,这样代码就不会在 13.0 之前的 iOS sdk 版本上损坏

【讨论】:

谢谢乌默!升级到 Xcode 的 Beta 版本后,我能够成功构建:developer.apple.com/download 谢谢! pod 'Intercom', '~> 5.4.1' 确实解决了这个问题。给对讲机的人发了个便条,也许他们会注意。 Brian 来自对讲机。从 Intercom iOS SDK 5.5.0 开始,需要 Xcode 11。我们确实有条件支持 iOS 13,但是我们不能有条件地支持 Xcode 版本。

以上是关于Apple Mach-O 链接器错误 - 架构 x86_64 的未定义符号:“_UISceneWillEnterForegroundNotification”和“___isPlatformVersio的主要内容,如果未能解决你的问题,请参考以下文章

CocoaAsyncSocket Apple Mach-O 链接器错误

Apple Mach-O 链接器错误解析

如何摆脱 Apple Mach-O 链接器错误?

Apple Mach-O 链接器错误,目标 C

ios- Apple Mach-O 链接器错误 [重复]

如何修复 Apple Mach-O 链接器错误