0

我已将以下代码添加到我的项目中:

关联

这些类用于 iOS 中的游戏中心,如果我简单地使用它们,它们允许编译项目。但是当我尝试对其进行子类化或为它创建一个类别时,它会显示很多关于 GKAchievementDescription 的错误。即使我只创建了一个子类或类别但没有使用它们,它也会发生。

为什么它不能正常工作,是否可以在不编辑该库中的类的情况下解决这个问题?

更新

下面是一个使用这个类的例子:

#import "GKAchievementHandler.h"

@interface GKAchievementHandler (Extension)

@end

#import "GKAchievementHandler+Extension.h"

@implementation GKAchievementHandler (Extension)

@end

之前库中的代码在我的项目中没有在其他任何地方使用。错误文本示例:

/GKAchievementNotification-master/GKAchievementNotification.h:68:5: 未知类型名称'GKAchievementDescription';您的意思是“GKAchievementNotification”吗?

4

1 回答 1

0

您需要导入GameKit框架。

以下是对一个难以描述的主题的模糊描述,滥用了许多术语......

以前它不是必需的,因为您只是通过库使用框架并且它已经使用引用进行了编译。因此,您对所做的任何事情都使用“弱”引用。

现在您实际上是子类化,您实际上是在尝试使用这些类,因此您需要一个完整的“强”定义来编译您的修改。

这与以下之间的区别相同:

@class XXX;

和:

#import XXX.h;

以及它们各自允许您做什么XXX

于 2013-05-24T18:29:58.867 回答