Xcode有时会删除链接库

Xcode有时会删除链接库,第1张

概述在 Xcode中使用不同的框架时,编译器和链接器有时不在库中包含该框架.结果是在启动期间立即崩溃,并显示以下消息: dyld: Library not loaded: /System/Library/Frameworks/UserNotifications.framework/UserNotifications Referenced from: /var/containers/Bundle/A 在 Xcode中使用不同的框架时,编译器和链接器有时不在库中包含该框架.结果是在启动期间立即崩溃,并显示以下消息:

dyld: library not loaded: /System/library/Frameworks/UserNotifications.framework/UserNotifications  Referenced from: /var/containers/Bundle/Application/1D41BD68-9B88-4D5D-B7AB-0D1C31979964/App.app/App  Reason: image not found

我发现了一种避免这种情况的方法.它只是在应用程序代码中直接提到该库的部分,如下所示:

UNNotificationRequest *unr = [UNNotificationRequest alloc];

只需在#include< UserNotifications / UserNotifications.h>中包含该框架中的文件不解决它. @import UserNotifications也不是;

对于不同的ios版本,我已经在不同的xcode版本上看到了不同的库.

以下是另外两个具有更具体用例的问题:

1)CABTMidiCentralViewController used in Storyboard only working if using code reference

2)Switching to Xcode 10 causes `UserNotifications.framekwor dyld: Library not loaded crash` for iOS9

有人知道为什么会这样吗?如何避免代码的愚蠢部分,但仍然链接/嵌入所需的框架?

附:

>我将Always Embed Swift标准库设置为YES
>我已将link Frameworks automatically设置为YES

更新#1

UserNotifications框架的问题:

iOS9& XCode 9 – 工作

带有XCode 10的iOS9 – CRASH

使用模拟器:

使用真实设备:

更新#2

当我将框架从required更改为Optional时,它不会崩溃,但推送通知不起作用.

解决方法 UserNotifications.framework是一个系统框架,要使用它必须存在于运行应用程序的系统上.它是在最近才添加的,所以我猜你在运行早于框架存在的旧iOS版本时会看到它丢失的错误. 总结

以上是内存溢出为你收集整理的Xcode有时会删除链接库全部内容,希望文章能够帮你解决Xcode有时会删除链接库所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1040650.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存