当前位置: 首页 > 面试题库 >

使用Swift的xcode 6中的iAd

何星鹏
2023-03-14
问题内容

我正在努力在现场实施横幅广告,但它总是报告“线程1:EXC_BREAKPOINT(代码= EXC_ARM_BREAKPOINT,子代码=
Oxdefe),程序停止运行。我在有关iAd()的另一个问题中引用了T先生的回答。 Swift-ADBannerView“),但仍然无法实现。

代码如下:

 import UIKit
 import SpriteKit
 import iAd
 class GameViewController: UIViewController, ADBannerViewDelegate {

@IBOutlet var adBannerView: ADBannerView
override func viewDidLoad() {
    super.viewDidLoad()
    println("view loaded")

    //iAd
    self.canDisplayBannerAds = true
    self.adBannerView.delegate = self
    self.adBannerView.alpha = 0.0 
     if let scene = GameScene.unarchiveFromFile("GameScene") as? GameScene {
        // Configure the view.
        let skView = self.view as SKView
        skView.showsFPS = true
        skView.showsNodeCount = true

        /* Sprite Kit applies additional optimizations to improve rendering performance */
        skView.ignoresSiblingOrder = true

        /* Set the scale mode to scale to fit the window */
        scene.scaleMode = .AspectFill

        skView.presentScene(scene)
    }
}
 //iAd
func bannerViewWillLoadAd(banner: ADBannerView!) {


    println("sort of working1")

}

func bannerViewDidLoadAd(banner: ADBannerView!) {


    self.adBannerView.alpha = 1.0 
    println("sort of working2")

}

func bannerViewActionDidFinish(banner: ADBannerView!) {


    println("sort of working3")

}

func bannerViewActionShouldBegin(banner: ADBannerView!, willLeaveApplication willLeave: Bool) -> Bool {



    println("sort of working4")
    return true 
}

func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError error: NSError!) {


}
}

我在Main.storyboard中创建了一个ADBannerView,并将其与@IBOutlet adBannerView链接。

有人帮我弄清楚吗?


问题答案:

这就是我的操作方式,可能并非全部都是必要的。

我没有在情节提要中使用横幅,因此IBOutlet是不必要的。

另外,如果您手动创建横幅,则无需设置 self.canDisplayBannerAds

此功能(从ObjC移植)是我展示广告的方式。

func loadAds(){
  adBannerView = ADBannerView(frame: CGRect.zeroRect)
  adBannerView.center = CGPoint(x: adBannerView.center.x, y: view.bounds.size.height - adBannerView.frame.size.height / 2)
  adBannerView.delegate = self
  adBannerView.hidden = true
  view.addSubview(adBannerView)
}

这称为viewDidLoad。然后,在didLoadAd委托方法中,设置adBannerView.hidden = falsedidFailToReceiveAdWithErroradBannerView.hidden = true

我觉得hiddenalpha这种情况更好,因为它感觉更自然。我相信(但不确定)隐藏时,GPU根本不会绘制视图,而Alpha为0时,它仍然被绘制,但变为不可见(如果我错了,请纠正我)。

这是我的设置,对我有用,因此希望它也适用于您的情况!



 类似资料:
  • 问题内容: 我一直在尝试将Obj-C库移植到Swift,但是遇到了一个问题,当Swift代码在项目中时,链接器无法构建静态库。 作为最小的复制者,请进入XCode6并创建一个新的iOS静态库。它会为您提供一个带有空白.h和.m文件的项目。这样可以编译良好。然后,将新的.swift文件添加到项目中(无论是否创建标题桥)。这也 应该 编译良好,但是在链接期间失败: 如果我瞄准模拟器或设备,则会发生这种

  • 问题内容: 我的函数中不断出现此错误 我正在尝试读取数组answerRecord中的值。我使用一个全局变量arrayCount,它跟踪im当前指向哪个索引。 我在较早的函数中做了一个println,它为var arrayCount返回一个整数1的值,因此arrayCount不为空。因此,它应该能够将数组解释为: *假设arrayCount现在为1 answerRecord [arrayCount]

  • 问题内容: 我正在尝试跟踪网络状态。我浏览了FXReachability的代码。具体来说有以下方法。 它所做的是不断检查与指定主机的连接。我正在尝试将此方法转换为Swift,但遇到了一些问题。 1.将主机字符串转换为UTF8。 我必须将主机字符串转换为UTF8并将其传递给SCNetworkReachabilityCreateWithName方法。我在Objective- C中找不到与属性完全相同的

  • 本文向大家介绍Swift使用Objective-C代码中的Swift类,包括了Swift使用Objective-C代码中的Swift类的使用技巧和注意事项,需要的朋友参考一下 示例 在同一模块中 在名为“ MyModule ”的模块内,Xcode生成一个名为的标头,该标头MyModule-Swift.h将公共Swift类公开给Objective-C。导入此标头以使用Swift类: 相关的构建设置:

  • 问题内容: 我的 TapCell1.swift 这是习惯 我的 ViewController.swift 正确设置了其所有数据源和代理。但是未显示我的自定义单元格。 问题是我的自定义单元格未显示。请提出我做错的任何事情。 注意:这是我的代码 我的文件下载链接 问题答案: 我终于做到了。 对于TapCell1.swift 对于NextViewController.swift 我的工作代码链接:自定义

  • 问题内容: 在我的项目中,我在UICollectionViewCell中创建了Cell 由于未捕获的异常,其出现了“错误终止”应用程序 代码如下。 GalleryCell.swift 我在My ViewController中使用了该单元格: 代码如下: NextViewController.swift } 我的问题是我遇到以下错误: 问题答案: 我加入以下两行下: 问题是我没有注册笔尖。现在我正在