0

我一直在开发 Swift/iOS 游戏。我目前正在为其实施广告,并且正在使用亚马逊广告库。我已将其添加到我的项目中。快速入门指南中给出的示例代码是用 Objective-C 编写的,但这并不是什么大问题。我创建了 bridge.h 文件并将其链接到 Objective-C 桥接头中。

我的桥接文件是:

#ifndef Bridge_H
#define Bridge_H
import <AmazonAd/AmazonAdRegistration.h>
import <AmazonAd/AmazonAdOptions.h>
import <AmazonAd/AmazonAdError.h>
import <AmazonAd/AmazonAdInterstitual.h>
#endif

我在快速指南中注意到 AmazonAd/AmazonAdInterstitual.h 文件与其他 3 个文件的位置不同。但我认为这不是什么大问题,不是吗?无论如何,最后一个,AmazonAd/AmazonAdInterstitual.h 是导致问题的那个。当我尝试编译和构建时,链接到该标头中的方法时出现错误:

// Present an interstitial on screen
- (void)presentFromViewController:(UIViewController *)viewController;

并且错误状态为“预期类型”,然后是另一个错误,指出它“无法导入桥接头:”

如果我进入那个头文件,即 Amazon Interssitual 头文件,并注释掉该特定行,然后编译和构建,它会毫无问题地这样做。问题是该特定方法调用是在屏幕上显示广告所需的调用。没有它,我无法展示广告并获得印象。

这是头文件的问题吗?或者它可能是其他地方的错误导致它显示这些错误?

4

1 回答 1

1

所以我找到了解决方案。预期类型错误实际上有类似的问题。问题是该类没有看到传递给它的类型,因为它尚未定义。只需添加@class UIViewController;到 Amazon/AmazonAdInterstitual.h 文件的顶部即可解决此问题。不确定这只是一个快速客观的 c 问题,还是整个 Amazon Ads sdk 中的问题。

于 2016-08-19T04:41:54.030 回答