swift 为什么在iOS上实施Google Admob原生广告时,GADNativeView上没有IBOutlet?

y3bcpkx1  于 2023-03-16  发布在  Swift
关注(0)|答案(2)|浏览(257)

我正在Flutter上实现Google Admob,使用本教程了解一般步骤,然后使用this tutorial了解GADNativeAdView上的特定教程。
1.创建一个.xib文件。
1.将视图类从UIView更改为GADNativeAdView。
1.添加相关组件,如标签和图像。
1.将标签和图像连接到GADNativeAdViewIBOutlet中。
但是到了第四步,我很困惑,因为我在GADNativeAdView上没有看到任何出口,当我打开包含GADNativeAdViewGADNativeAd.h源代码时,我清楚地看到GADNativeAdView接口明显包含出口,但是在Inspectors上没有显示出来,我该怎么做呢?

5t7ly7z5

5t7ly7z51#

在四处寻找了很多之后,我对这个问题的答案得出了这个评论,它指向了2021年的google group discussion。在回复中,谷歌开发人员说他们意识到了这个问题,这基本上是苹果的问题,除了等待苹果来解决它,他们什么也做不了。阅读整个故事的整个线程。
但要解决这个问题,请遵循以下步骤:
1.打开包含GADNativeAdView的文件,即GADNativeAd.h
1.全选,复制到剪贴板。
1.在您的项目中创建一个新的目标C头文件,给予为ex:GADNativeAdCopy.h .
1.粘贴剪贴板中的内容。
1.如果您使用Swift,则将GADNativeAdCopy.h导入桥接头文件。
1.现在,当您单击视图时,GADNativeAdViewIBOutlet将自动出现在Inspectors上。
1.添加一些组件,如标签和图像,并将它们连接到一些IBOutlet,如标题、正文或图标。
1.之后,从桥接头导入语句中删除GADNativeAdCopy.h。--〉您需要这样做,否则您的项目将无法编译。

  1. .xibGADNativeAdView视图仍然会保留它的插座,即使你删除了import语句。(import语句只需要让插座出现,所以如果其他未连接的插座突然消失,只需重新添加桥接头导入)
    注意:您仍然需要在ListTileNativeAdFactory.swift上安装import google_mobile_ads
    这是一个问答帖子,让其他用户知道解决方案,因为正确的搜索结果不容易出现时,我在网上搜索较早。
fzwojiic

fzwojiic2#

Google在2023年提供了xib文件here,如果你想从头开始,或者像我一样对文件进行大量修改,删除了一些视图和它们的outlet,你可以从Google的NativeAdView.xib文件中复制/粘贴outlet:

<outlet property="advertiserView" destination="RQh-Yj-D46" id="HsM-vK-fec"/>

只需将目的地更改为视图的id,它对我很有效。

相关问题