gpt4 book ai didi

Xcode 有时会删除链接库

转载 作者:行者123 更新时间:2023-12-03 17:30:56 24 4
gpt4 key购买 nike

使用不同时 Frameworks在 Xcode 中,编译器和链接器有时不包括 Framework在图书馆。结果是在启动过程中立即崩溃并显示以下消息:

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 Standard LibrariesYES
  • 我已经设置了Link Frameworks AutomaticallyYES

  • 更新 #1
    UserNotifications 的问题框架:

    iOS9 和 XCode 9 - 有效

    No crash on iOS9 with XCode9

    带有 XCode 10 的 iOS9 - 崩溃

    Crash on iOS9 with XCode10

    使用模拟器:

    iOS9 & XCode 10 Crashh - simulator

    使用真实设备:

    enter image description here

    更新 #2

    当我从 Required 更改框架时,它不会崩溃至 Optional但随后推送通知不起作用。

    最佳答案

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

    关于Xcode 有时会删除链接库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54349985/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com