Swift利用API可用性解决App Extension无法编译

网友投稿 684 2022-05-29

从 Xcode12.5 开始,苹果要求所有的 Extension Target 必须设置 APPLICATION_EXTENSION_API_ONLY 为 true,否则将会导致编译错误“Application extensions and any libraries they link to must be built with the APPLICATION_EXTENSION_API_ONLY build setting set to YES”;但是通常会在主工程和 Extension 之间使用 Framework 或其他方式共享代码,这些代码中使用了非 extension-only API,所以导致问题出现,那么该如何解决呢?

Swift之利用API可用性解决App Extension无法编译

以一个具体的工程结构为例,如下图所示:

主工程 Host App 中,创建了一个 Share Extension 的扩展 Target 做分享相关的操作;另外为了模块化,有一个 Library 工程包含所有的基础组件和 Fundation 扩展方法,NetworkService 工程包含网络请求相关的功能封装和处理,它们都被编译为 Framework 供主工程和 Share Extension 共同使用。

首先需要把 Share Extension、Library、NetworkService 这三个工程的

API Swift 移动APP

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Python:标准库fcntl给打开的文件加锁
下一篇:深度学习核心技术精讲100篇(十七)-多标准中文分词( Multi-Criteria-CWS)
相关文章