gpt4 book ai didi

ios - 作为子项目添加的静态库与作为目标添加的静态库

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:48:00 25 4
gpt4 key购买 nike

首先,我想说我对这个主题还很陌生,所以我对它的工作原理的某些一般方面有点困惑。基本上我正在开发一个有两个目标的 iOS 项目,一个是我正在开发的应用程序本身,它是一个前端 iOS 客户端,一个是静态库,前开发人员用来定义属于后端框架。

应用程序本身(我正在处理的客户端)和静态库(后端框架)的文件都在同一个 xcode 项目包中。即使我从未完成静态库的“设置过程”,编译时似乎也能正常工作。

现在的问题是:我正在设置单元测试,因为我想开始开发采用测试驱动开发方法的新功能,所以我苦苦挣扎的事情之一是我是否必须生成两个单独的测试目标,一个用于 iOS 应用程序,一个用于静态库(因为它们是两个单独的目标),或者对静态库和 iOS 应用程序使用一个测试目标。所以,在互联网上阅读我发现的解决方案,就像苹果公司建议的那样here ,一种常见的做法是将静态库添加为应用项目的“子项目”。

我只是在问自己为什么,和我现在的情况有什么区别(一个项目,to targets,其中之一就是静态库)。有什么缺点吗?我应该重新组织整个项目吗?

最佳答案

我的经验与 Apple 和通用方法一致。我建议将框架作为一个子项目。 (我在查找 header 时遇到了一些问题,但那是我对 Xcode 缺乏掌握,而不是过程中的缺陷。)

为每个项目独立设置单元测试。这样,您的测试就可以通过框架实现您的目标:您已经成功地将框架与父项目完全分离。

如果您在父项目中编写所有单元测试,那么当另一个项目需要该框架时会发生什么?你有两个选择。您无法测试框架,或沿原始父级字符串。做正确的事并拆分测试。

我有一个我构建的开源框架,名为 SpiffyKit ,它有一个名为 SpiffyTester 的父项目。 (我承认我没有进行太多单元测试,因为它全是 UI 而没有逻辑。)它可以作为一个很好的起点示例。

关于ios - 作为子项目添加的静态库与作为目标添加的静态库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18534012/

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