20994


改善策を教えていただけないでしょうか？  
エミュレーターでは動きますが、実機はコンパイルエラーになります。

以下参照したホームページです。  
<https://akira-watson.com/iphone/admob.html>  
ここに書かれているフレームワークも追加しています。

よろしくお願いいたします。

エラーコードです。

> ld:
> '/Users/＊＊＊＊＊/Desktop/＊＊＊＊＊/TestKoukoku/GoogleMobileAds.framework/GoogleMobileAds(GADBannerView.o)'
> does not contain bitcode. You must rebuild it with bitcode enabled (Xcode
> setting ENABLE_BITCODE), obtain an updated library from the vendor, or
> disable bitcode for this target. for architecture arm64  
>  clang: error: linker command failed with exit code 1 (use -v to see
> invocation)

テストコードです。

[code]

    import UIKit
    import GoogleMobileAds
    
    class ViewController: UIViewController, GADBannerViewDelegate {
        // AdMob ID を入れてください
        let AdMobID = "ca-app-pub-59765xxxxxxxxxx/xxxxxxxxxx"
        let TEST_DEVICE_ID = "61b0154xxxxxxxxxxxxxxxxxxxxxxxe0"
        let AdMobTest:Bool = true
        let SimulatorTest:Bool = true
    
    
    override func viewDidLoad() {
        super.viewDidLoad()
    
        var admobView: GADBannerView = GADBannerView()
        admobView = GADBannerView(adSize:kGADAdSizeBanner)
        admobView.frame.origin = CGPointMake(0, self.view.frame.size.height - admobView.frame.height)
    
        admobView.frame.size = CGSizeMake(self.view.frame.width, admobView.frame.height)
        admobView.adUnitID = AdMobID
        admobView.delegate = self
        admobView.rootViewController = self
    
        let admobRequest:GADRequest = GADRequest()
    
        if AdMobTest {
            if SimulatorTest {
                admobRequest.testDevices = [kGADSimulatorID]
            }
            else {
                admobRequest.testDevices = [TEST_DEVICE_ID]
            }
    
        }
    
        admobView.loadRequest(admobRequest)
    
        self.view.addSubview(admobView)
    }
    
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
    }
    
[/code]


CC BY-SA 3.0
2016-01-17T06:08:45.470
20991
2016-01-17T07:03:56.510
2016-01-17T07:03:56.510
8000
10845
question
swift xcode ios8 swift2
admob sdkを実機で走らすと、エラーになる


そのエラーメッセージはあなたが自分のアプリに取り込もうとしているフレームワーク(の少なくとも一部)がbitcode対応していないことを示しています。

_You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE),
obtain an updated library from the vendor, or disable bitcode for this
target._  
このエラーメッセージには3つの対応のどれかを行わないといけないと示されています。

  * (そのフレームワーク自体を)bitcodeを有効にして再ビルドする
  * フレームワークの配布元から(bitcodeに対応した)更新版のライブラリを入手する
  * コンパイル中のプロジェクトのターゲットについて、bitcodeを無効化する

最初の2つについては、こちらではどうしようもないので、3番目の設定変更方法を示します。

Project navigatorからPROJECT/TARGETSの設定画面を開いておく。  
TARGETSのBuild Settingsのタブを選択する。  
(検索窓に「bit」と入力するなどして)Enable Bitcodeの設定箇所を見つける。  
※「Build Options」の中にあるはずです。  
「Yes」になっているはずなので、そこを「No」に書き換える。

Appleは将来的にApp
Storeに提出するアプリに対してbitcode使用を義務化するかもしれません(tvOSでは既に義務化されているようです)が、今の所は無効化しても大丈夫です。


CC BY-SA 3.0
2016-01-17T06:38:25.963
20994
2016-01-17T06:38:25.963
13972
20991
answer