Xcode 8,iOS 8模拟器与崩溃:"dyld: lazy symbol binding failed: Symbol not found: _objc_unsafeClaimAutoreleas



更新到Xcode 8,在iOS 8模拟器中运行我的应用程序,通过iOS9和iOS10没有问题

"dyld: lazy符号绑定失败:符号未找到:引用自:**期望在:/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS8.1.simruntime/内容/资源/RuntimeRoot/usr/lib/libobjc.A.dylib

dyld: Symbol not found: _objc_unsafeClaimAutoreleasedReturnValue
引用自:**/图书馆/开发/CoreSimulator/Profiles/运行时/iOS8.1.simruntime/内容/资源/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

iOS 11确保你的presentViewController为true

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

相关内容

最新更新