链接到在应用程序扩展中使用不安全的 dylib

Posted

技术标签:

【中文标题】链接到在应用程序扩展中使用不安全的 dylib【英文标题】:Linking against a dylib which is not safe for use in application extensions 【发布时间】:2018-03-08 08:14:19 【问题描述】:

我的应用中有一个共享扩展,在构建时出现以下错误:

:PATH_TO_MY_NON_EXTENSION_SAFE_FRAMEWORK_TARGET`

报告的框架(这是同一项目中的另一个目标)实际上不是扩展安全框架。

问题是我从未将我的共享扩展与该框架相关联。我只是将它与另一个扩展安全 API 框架和我的 pods 框架链接起来,递归地说,它们被明确标记为扩展安全。尽管我收到了警告,但依赖项/链接树中的任何内容都不会触及我的 NON_EXTENSION_SAFE_FRAMEWORK_TARGET

这可能是什么原因?

我在 Xcode 9.2 上。

【问题讨论】:

你解决过这个问题吗?我也遇到了同样的问题。 一个老问题,但this 有帮助吗? warning message linking against a dylib which is not safe for use in application extensions的可能重复 【参考方案1】:

问题是我从来没有将我的共享扩展链接到那个框架。

我遇到了同样的问题 - 该框架未包含在我的扩展目标的 Link Binary with Libraries 中。所以我无法弄清楚为什么它会给出这个错误。

我发现我有一个包含代码的文件:

import TheFramework

该文件的Target Membership 包含扩展目标。

从扩展的目标成员中删除任何导入框架的文件。

【讨论】:

以上是关于链接到在应用程序扩展中使用不安全的 dylib的主要内容,如果未能解决你的问题,请参考以下文章

WPF应用程序中,调用用户控件时,可以访问到在这个用户控件Xaml代码中的所有内容,这样岂不是不安全?

捆绑应用程序中的 dylib 和框架

在 iPhone 中构建时找不到 libsqlite3.0.dylib

xcode gm ios 8 gm swift 今天扩展在模拟器和设备中崩溃:库未加载:@rpath/libswiftCore.dylib

macOS 上的 .so 和 .dylib 有啥区别?

带有 GAE ndb 的 Flask Flask 安全性?