从我的项目开始,我使用自定义框架,让我们称之为" custom.framework"。但是这个框架中存在一个错误,现在我想使用另一个版本的" custom.framework"。
首先,我只是删除了" custom.framework"我的项目中的文件并添加了新文件。但没有任何改变,错误仍然存在。
经过多次尝试和小时后,我明白Xcode会在内存中添加旧版本并使用此版本而不是新版本。我知道,因为在新版本中我添加了一种方法,当我cmd +单击该类时,我将该方法添加到其中,它不在那里,文件的路径不可用。
通过网络搜索,我尝试将一些版本参数更改为我的框架项目:兼容版本,Curent Library版本,Framework版本。但是这并没有改变Xcode,它继续使用旧版本。
我还尝试将框架项目作为子项目,并将生成的框架作为依赖项添加到我的目标中。它运作良好,但由于框架项目位于一个独立的远程git存储库中,我不认为这是一个可接受的解决方案。
所以我的最后一次尝试是构建一个" custom2.framework",以强制Xcode使用真实文件而不是某些缓存版本。但同样,它不起作用,在构建时我得到错误告诉我,custom2.framework中的所有类都是其缓存版本" custom.framework"的重复符号。
所以我的问题很简单:我怎么能最终告诉Xcode删除它的缓存旧版本并让我使用我给他的文件?我已经尝试删除我的项目的derivedData,但似乎缓存的框架不在那里......我非常绝望:(
编辑:以下是2个截图来说明问题
当我从项目导航器中的.framework对象打开文件时,第一个屏幕截图是Xcode所示的路径。
第二个屏幕截图是当我从cmd +点击到" DCEquipmentManager"打开文件时Xcode所示的路径。在代码中。
如您所见,与代码链接的框架不是项目中的框架。
答案 0 :(得分:0)
请尝试清除原始数据: 窗口 - >组织者 在右侧,您将看到项目列表。找到您的项目并点按它。我在窗口的顶部你会看到Derrived数据前面的按钮删除,点击它。
我想这会解决你的问题。
答案 1 :(得分:0)
在新框架中绑定似乎有问题,您的项目仍然与旧框架文件链接。 尝试删除与您的" custom.framework相关的所有文件和文件夹,并从项目设置中删除该框架的路径 - >构建设置 - >搜索路径
然后拖放你的" custom.framework"项目中的文件。
它适用于我。它解决了你的问题。
答案 2 :(得分:0)
这可能听起来很愚蠢,但有时重启XCode或整个机器解决问题。
您是否从构建阶段 - >中删除了旧框架?链接二进制文件库?
答案 3 :(得分:0)
使用 Clean Build Folder : option-shift-command-K ,或者在按住alt /时从产品菜单中选择它选项键。