[swift]iAdを利用して広告を表示しようとしてunrecognized selector sent to instanceがでたら。

広告

色々情報を集めていると、iPhoneのアプリを有料で販売するよりも、無料で販売して広告を表示する方が、マネタイズとしては有利なようです。(勿論、ものによりますが)

iPhoneアプリの開発については、Apple社が用意している広告ネットワークに加入するのが楽そうです。

iAd swiftで検索して以下のサイトを発見し、とりあえず見よう見まねでコーディングしました。

iAdのバナー表示2つの方法

 

import UIKit
import iAd

class 公演画面操作型: UIViewController,ADBannerViewDelegate  {
  
  var 公演=公演型?()
  var 劇評集:[劇評型]?=[]
  var 広告:ADBannerView!
  
  lazy private var 公演画面:公演画面型 = self.公演画面生成()
  override func viewDidLoad() {
      super.viewDidLoad()
      // Do any additional setup after loading the view, typically from a nib.
      self.title="公演情報"
      self.公演画面.劇評集=劇評集生成()

      self.canDisplayBannerAds=true
}

 

が、実行しようとするとエラーが。

この実行時エラーが未だに何を見ればよいのかわかりませんが、とりあえず以下のようなメッセージが表示されました。(1部です)

setCanDisplayBannerAds:]: unrecognized selector sent to instance ...

何が原因だかさっぱりわからず、ネットを漁っていてようやくもう少し詳しく解説しているページを発見しました。

[iOS][Swift]初めての広告!実装が恐ろしく簡単なiAdを利用しよう

一番最初にiAdのフレームワークの導入をするようにとのことです。

忘れてましたorz。

xcodeで、プロジェクトの一番上(ルート?①)を選び、詳細画面で、「Linked Framework and Libraries」の下の「+」(②)を押して、iAdフレームワークを追加すると、③のように追加されます。

スクリーンショット 2016-03-19 13.17.54

改めて実行

無事、広告が表示されるようになりました。

スクリーンショット 2016-03-19 13.30.36

でも、広告バナーに押し上げられるように、ページ全体が上に押し上げられ、コンテンツの一部が見えなくなってしまいました。これらは、画面の制約(Constraints)を修正することで対応する必要がありそうです。今日は、ここまでにして、また対応を進めていこうと思います。

広告

1 個のコメント

  • コメントを残す

    メールアドレスが公開されることはありません。 が付いている欄は必須項目です