Xcode 8,带崩溃的iOS 8模拟器:“;dyld:惰性符号绑定失败:找不到符号:“U objc”U UNSAFECTLAIMAUTORELEASEDRETURNVALUE“;

Xcode 8,带崩溃的iOS 8模拟器:“;dyld:惰性符号绑定失败:找不到符号:“U objc”U UNSAFECTLAIMAUTORELEASEDRETURNVALUE“;,ios,xcode8,Ios,Xcode8,更新到Xcode 8,在iOS 8模拟器中运行我的应用程序,并在iOS 9和iOS 10中崩溃。没有问题 “dyld:惰性符号绑定失败:找不到符号: _objc_unsafectlaimautoreleasedReturnValue引用自:*,预期位于:/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS中 8.1.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libobjc.A.dyl

更新到Xcode 8,在iOS 8模拟器中运行我的应用程序,并在iOS 9和iOS 10中崩溃。没有问题

“dyld:惰性符号绑定失败:找不到符号: _objc_unsafectlaimautoreleasedReturnValue引用自:*,预期位于:/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS中 8.1.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libobjc.A.dylib

dyld:未找到符号:_objc_unsafectlaimautoreleasedReturnValue
引用自:*,预计在: /库/开发人员/核心模拟器/配置文件/运行时/iOS 8.1.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libobjc.A.dylib“


如果主项目下有任何子项目,则可能发生这种情况的原因之一是一个或多个子项目的“部署目标”高于主项目

例如,如果主项目的部署目标为8.0,则将所有子项目的部署目标设置为8.0。
我想这会解决你的问题。如果有,请告诉我。干杯。

升级到Xcode 8后,我遇到了完全相同的问题,正如@Shaggy指出的,在我的例子中,这是由于依赖项目中的部署目标设置为9.3,而我的主项目的部署目标为8.0


要添加更多内容,查看导致崩溃的堆栈跟踪可能会很有用,以确定项目,特别是当您有许多依赖项目时。在我的例子中,我发现某些函数是从依赖库项目调用的,确实是该项目导致了问题。

在下载的库中更改函数参数后,我也遇到了同样的问题。清理构建目录为我做到了这一点。

我在构建自定义CocoaPod时遇到了这个问题。我正在构建的pod是Swift版本5,而示例项目是Swift版本4。为了避免这次崩溃,我不得不增加4到5次。请确保您的presentViewController是真的 这是错误的:

let vc = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(Identifier : "VerificationsVC") Wrong
this is true: 
 let vc = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier : "VerificationsVC")

您好@xojiang,您能找到解决方案吗?我面临着完全相同的问题!谢谢你的建议。最后,我们发现原因是一些子项目重写了“+(void)load”方法。只要把它修好,就没有问题了。谢谢。在我的例子中,开发pod有12.0,主项目有13.0。我在podfile中添加了
platform:ios,'13.0'
,这正是我的问题。谢谢