dyld:找不到符号:_OBJC_CLASS_ $ _Reachability,Xcode 11崩溃

3
我遇到了以下问题,仅在安装了pod PusherSwift后才发生。
应用程序启动时,出现以下崩溃日志:
dyld: Symbol not found: _OBJC_CLASS_$_Reachability
  Referenced from: /Users/abc/Library/Developer/CoreSimulator/Devices/387D652C-CB80-4739-88B1-DD04ACAFA8D6/data/Containers/Bundle/Application/D9CEB1B3-9B9D-42E8-AFB6-8BCA056DDE1C/LalaFood-User.app/Frameworks/ChatSDK.framework/ChatSDK
  Expected in: /Users/abc/Library/Developer/CoreSimulator/Devices/387D652C-CB80-4739-88B1-DD04ACAFA8D6/data/Containers/Bundle/Application/D9CEB1B3-9B9D-42E8-AFB6-8BCA056DDE1C/LalaFood-User.app/Frameworks/Reachability.framework/Reachability
 in /Users/abc/Library/Developer/CoreSimulator/Devices/387D652C-CB80-4739-88B1-DD04ACAFA8D6/data/Containers/Bundle/Application/D9CEB1B3-9B9D-42E8-AFB6-8BCA056DDE1C/LalaFood-User.app/Frameworks/ChatSDK.framework/ChatSDK

我将以下文件直接复制到我的项目中。我查看了PusherSwift.podspec,发现它依赖于ReachabilitySwift。所以,我猜这就是问题的来源。我尝试删除在我的项目中直接复制的Reachability文件,但运行后仍然崩溃。
我还通过另一个pod获得了Tony Million的Reachability库,但我不知道是哪一个。
我还尝试在全新的项目上实现PusherSwift,它能够完美地工作。但当我在现有项目上尝试时,它总是崩溃。
是否需要导入某些文件,例如头文件之类的?我一直看到要在Frameworks、Libraries和Embedded Content上添加框架。我尝试在那里添加Reachability.framework,但没用。
希望有人可以帮忙。
谢谢!

你是否运行了 pod install 命令,并且打开的是 Xcode 的工作区而不是项目文件?另请参考这里 - koen
是的,我在关注您发送的链接上的问题,但不幸的是,仍然没有人回答。同时,在全新的项目中使用 PusherSwift 完全正常,但在我的现有项目中却崩溃了。 - Kaye
确保所有外部框架都位于Xcode目标的“嵌入式二进制文件”部分。 - koen
框架,库和嵌入内容部分吗?我尝试将其添加在那里,但问题仍然存在。 - Kaye
正确的 - 并且它也应该在 BuildPhases -> Embed Frameworks 中。 - koen
我已经尝试了你说的,但不幸的是,它仍然没有起作用。 - Kaye
1个回答

0

目前,我只是采用了一个解决方法。我手动从PusherSwift中复制所需的文件,而不是通过Cocoapods安装它。然后,使用pod安装其依赖项。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接