Xcode 12 Beta 6:“ AppDelegate”在不同的模块中具有不同的定义

问题描述

使用Xcode 12 Beta 6启动我的现有项目时-不允许编译说:

AST Deserialization Issue:

'AppDelegate' has different deFinitions in different modules; first difference is defined here found 2 referenced protocols

我确认的是-​​@interface AppDelegate在我的工作空间中仅存在一次,那么我们在哪里可以找到AppDelegate的第二个定义?

还有其他人面对过这个问题吗?

解决方法

这个问题最近发生在升级到 Xcode 12之后。

问题是由项目中的 AppDelegate 文件重复引起的(通常是Pods)

这是对我有用的解决方案。

  1. 尝试(按Command + Shift + O)并搜索AppDelegate。
  2. 如果在pod包下找到任何AppDelegates,则需要将其解锁并从此处删除AppDelegate声明。
  3. 您也可以从右侧的“目标成员资格”菜单中取消选中该文件的目标成员身份,而不是删除它。

在Pod所有者解决问题之前,您可能需要分叉导致问题的Pod回购,从分支实例中删除AppDelegate,然后在Podfile中使用回购。

示例:

pod 'PhoneNumberKit',:git => 'https://github.com/ameedsayeh/PhoneNumberKit.git'