警告消息链接到dylib,这在应用程序扩展中不安全

Dan*_*wer 9 frameworks ios

我收到一条错误说

链接到不适合在应用程序扩展中使用的dylib

我已经看过解决这个问题的其他问题,唯一有答案的问题并没有解决我的问题,其余的问题都没有得到答案.

我尝试构建一个完全没有任何内容的框架,并在我的intents app扩展的General选项卡中将框架添加到Linked Frameworks和Libraries,我仍然收到此消息.

当我向框架添加代码时,我仍然收到警告消息.

这是我的代码:

import UIKit

class Widget: NSObject {

}
Run Code Online (Sandbox Code Playgroud)

我肯定会遵循某些API不适用于App Extensions 使用嵌入式框架共享代码的说明,但我仍然会收到相同的警告消息.我已经读过,如果我有这个问题,Apple App Store将无法通过我的应用程序进行审核.

lar*_*3ry 19

如果要链接到您控制的框架,请在项目中选择框架目标.在" 常规"选项卡中,查看" 部署信息",您将看到一行:

App Extensions: [ ] Allow app extension API only
Run Code Online (Sandbox Code Playgroud)

选中该复选框,您应该能够链接到此框架.

此复选框确保仅使用对App Extensions中有效的API的调用. 框架目标常规选项卡


mok*_*gio 5

在 Xcode 14 中,我找不到@lar3ry 的回答中显示的复选框。

但是,仍然可以在“构建选项”>“仅需要应用程序扩展安全 API”下的“构建设置”选项卡中找到该设置。确保选择“全部”设置,而不仅仅是“基本”:

在此输入图像描述

-stylexcconfig构建设置名称是APPLICATION_EXTENSION_API_ONLY.