質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.05%

アプリ実行時にThread 1: signal SIGABRTが出てします

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 879

score 43

前提・実現したいこと

GoogleAdMobを利用し、作ったアプリ内にバナー広告をつけて実行しようとしたところ、表題のエラーが出てしまいました。助けてください。。

発生している問題・エラーメッセージ

Thread 1: signal SIGABRT

該当のソースコード

//Appdelegate.swiftのコード
import UIKit
import GoogleMobileAds

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate, GADBannerViewDelegate {

    var window: UIWindow?

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

        GADMobileAds.sharedInstance().start()

        return true
    }

    func applicationWillResignActive(_ application: UIApplication) {
    }
    func applicationDidEnterBackground(_ application: UIApplication) {
    }
    func applicationWillEnterForeground(_ application: UIApplication) {
    }
    func applicationDidBecomeActive(_ application: UIApplication) {
    }
    func applicationWillTerminate(_ application: UIApplication) {
    }
}

//ViewController.swiftのコード
import UIKit
import GoogleMobileAds

class ViewController: UIViewController,UITextFieldDelegate,GADBannerViewDelegate {

    let TestID = "ca-app-pub-3940256099942544/2934735716"
    let DEVICE_ID = ""
    let simulatorTest = true

    @IBOutlet var meisi: UITextField!

    @IBOutlet weak var meisi1: UITextField!

    @IBOutlet var keiyousi1: UITextField!

    override func viewDidLoad() {
        super.viewDidLoad()

        meisi.delegate = self
        meisi1.delegate = self
        keiyousi1.delegate = self

        var admobView = GADBannerView()
        admobView = GADBannerView(adSize: kGADAdSizeBanner)
        admobView.frame.origin = CGPoint(x: 0, y: self.view.frame.size.height - admobView.frame.height)

        admobView.frame.size = CGSize(width: self.view.frame.width, height: admobView.frame.height)

        admobView.adUnitID = TestID
        admobView.delegate = self
        admobView.rootViewController = self

        let admobRequest = GADRequest()
        if simulatorTest == true{
            admobRequest.testDevices = [kGADSimulatorID]

        }else{

            admobRequest.testDevices = [DEVICE_ID]

        }
        admobView.load(admobRequest)
        self.view.addSubview(admobView)
    }  
    func textFieldShouldReturn(_ textField: UITextField) -> Bool {

       textField.resignFirstResponder()
        return true

    }

    override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {

        meisi.resignFirstResponder()
        meisi1.resignFirstResponder()
        keiyousi1.resignFirstResponder()

    }

    @IBAction func button(_ sender: Any) {
    let items = ["いっぱい入れてるため省略"]
        let r = Int(arc4random()) % items.count
        meisi.text = items[r]

    }

    @IBAction func button1(_ sender: Any) {
        let items = ["いっぱい入れてるため省略"]
        let r = Int(arc4random()) % items.count
        meisi1.text = items[r]

        }

    @IBAction func button2(_ sender: Any) {
        let items = ["いっぱい入れてるため省略"]
        let k = Int(arc4random()) % items.count
        keiyousi1.text = items[k]

        }

    override func didReceiveMemoryWarning(){
    super.didReceiveMemoryWarning()

    }
}

試したこと

・コネクトが外れてないか確認→外れてない
・Moduleとclassの確認→付いている
・AppDelegate.swiftのInfo.plistにはGADApplicationIdentifierキーを追加し、そこにAdMobAppIDを入れた。

補足情報(FW/ツールのバージョンなど)

Xcode : Version 10.3 (10G8)
Swift : Apple Swift version 5.0.1

デバッグエリアのログ↓

2019-08-17 01:31:56.113151+0900 idea[62244:3150194] [NetworkInfo] Descriptors query returned error: Error Domain=NSCocoaErrorDomain Code=4099 "The connection to service named com.apple.commcenter.coretelephony.xpc was invalidated." UserInfo={NSDebugDescription=The connection to service named com.apple.commcenter.core2019-08-17 01:31:56.801042+0900 idea[62244:3148999] *** Terminating app due to uncaught exception 'GADInvalidInitializationException', reason: 'The Google Mobile Ads SDK was initialized without AppMeasurement. Google AdMob publishers, follow instructions here: https://googlemobileadssdk.page.link/admob-ios-update-plist to include the AppMeasurement framework and set the -ObjC linker flag. Google Ad Manager publishers, follow instructions here: https://googlemobileadssdk.page.link/ad-manager-ios-update-plist'

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

+1

デバッグエリアの英語を翻訳機に突っ込んで見ればいいのではないでしょうか?

Terminating app due to uncaught exception 'GADInvalidInitializationException', reason: 'The Google Mobile Ads SDK was initialized without AppMeasurement. Google AdMob publishers, follow instructions herehttps://googlemobileadssdk.page.link/admob-ios-update-plist to include the AppMeasurement framework and set the -ObjC linker flag. Google Ad Manager publishers, follow instructions here: https://googlemobileadssdk.page.link/ad-manager-ios-update-plist'

ハイライトしたとこだけでも、
「アプリを終了した」、「理由」、「Google Mobile Ads SDKはアプリの設定なしに初期化されました」、「以下の指示に従え: URL」と書いてあります。その後にもゴニョゴニョ書いてありますので、よく見てみて下さい。

質問するのも大事ですが、よくXcodeに書かれていることを読むことも大事ですよ。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/08/17 10:56

    仰る通りですね!!
    ここ使わなかったらデバッグエリアのことも分からなかったのでとても助かりました!
    ありがとうございました🥰

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.05%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る