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
UISceneWillEnterForegroundNotification
和 isPlatformVersionAtLeast
在 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的主要内容,如果未能解决你的问题,请参考以下文章