我正在努力在现场实施横幅广告,但它总是报告“线程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 = false
和didFailToReceiveAdWithError
,adBannerView.hidden = true
我觉得hidden
比alpha
这种情况更好,因为它感觉更自然。我相信(但不确定)隐藏时,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类: 相关的构建设置:
问题内容: 因此,我正在使用雷·温德利奇(Ray Wenderlich)的教程编写的一本名为iOS游戏的书,并尝试利用那里找到的一些Objective- C代码来对游戏中角色的加速度计进行控制。我想使用Swift而不是Objective-C。尝试创建表示3D矢量的GLKVector3类型的var时遇到问题。当我输入: 我收到以下错误: 使用模块GLKVector3作为类型。 我的GLKit的快速文
问题内容: 我的 TapCell1.swift 这是习惯 我的 ViewController.swift 正确设置了其所有数据源和代理。但是未显示我的自定义单元格。 问题是我的自定义单元格未显示。请提出我做错的任何事情。 注意:这是我的代码 我的文件下载链接 问题答案: 我终于做到了。 对于TapCell1.swift 对于NextViewController.swift 我的工作代码链接:自定义