2016-07-07 105 views
0

我花了一些时间来解决这个问题,所以我想如果有人曾经搜索过它,他们也可能会在这里找到解决方案。iOS模拟器崩溃,设备没有(dyld:找不到符号)

当我有一个名为CoreUI的框架时发生了问题。这种精细的工作在我的iPhone和iPad,但它崩溃与以下错误模拟器终端

dyld: Symbol not found: _OBJC_CLASS_$_CUICatalog 
Referenced from: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/Frameworks/UIKit.framework/UIKit 
Expected in: /Users/sareninden/Library/Developer/Xcode/DerivedData/Treinplanner-bcfwuvntuwetsmavibxtvaiczpfg/Build/Products/Debug-iphonesimulator/CoreUI.framework/CoreUI 
in /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/Frameworks/UIKit.framework/UIKit 

翻翻所有的构建设置和什么也没找到我试着做了一个名为CoreUI框架空的项目后。如果没有添加任何逻辑,它会以相同的错误崩溃。

似乎在模拟器中CoreUI也是Apple使用的框架名称。尽管这是一个快速的框架,但这仍然会导致冲突。

回答

1

这就是DYLD_FRAMEWORK_PATH的工作原理。因为在DYLD_FRAMEWORK_PATH中有自己的CoreUI.framework,所以使用该代替系统来满足UIKit.framework的链接。

不要选用由系统框架中使用框架的名称,即:

LS $(xcrun --sdk iphonesimulator --show-SDK-路径)/系统/库/ *框架

相关问题