35086


Swift3で、バナー広告表示のためにAdMobを使用しています。AdMobを使用するためにGoogleMobileAds.frameworkをアプリに組み込みました。このフレームワークが30MB〜40MB近くあり、アプリをコンパイルすると全体で50MB近くなってしまいます。そこで、アプリのサイズを軽量化したいのですが、バナー広告で使う機能だけを絞ってフレームワークを利用することはできないでしょうか。コードは下記のように実装しています。

[code]

    import UIKit
    import GoogleMobileAds
    
    class ViewController: UIViewController, GADBannerViewDelegate {
    
        private var bannerView: GADBannerView = GADBannerView() // 広告バナー
    
        override func viewDidLoad() {
        super.viewDidLoad()
    
        // AdMob広告設定
        bannerView = GADBannerView(adSize: kGADAdSizeSmartBannerPortrait)
        bannerView.adUnitID = ""  // AdMobで発行された広告ユニットIDを設定
        bannerView.delegate = self
        bannerView.rootViewController = self
        let gadRequest:GADRequest = GADRequest()
        gadRequest.testDevices = [""] // テスト用の広告を表示する時のみ使用（申請時に削除）
        bannerView.load(gadRequest)
    
    }
    
[/code]


CC BY-SA 3.0
2017-04-25T04:17:23.317
34256
2017-05-28T06:22:48.707
2017-05-28T06:22:48.707
5519
21189
question
swift ios
フレームワークが巨大なためアプリのサイズが大きくなってしまう


Xcode 8.3 でアプリサイズが巨大になるバグが報告されていますが、 8.3.1 で修正されているのでもし 8.3
をお使いの場合はアップデートで直るかもしれません

> Fixed an issue that could produce app archives that were larger than
> necessary. Support for app archives built in Xcode 8.3 will be deprecated.
> (31302382)

<https://developer.apple.com/library/content/releasenotes/DeveloperTools/RN-
Xcode/Chapters/Introduction.html>


CC BY-SA 3.0
2017-04-26T08:29:34.613
34288
2017-04-26T08:29:34.613
8771
34256
answer


単純にビルドして生成されるパッケージのサイズは最終的なアプリのサイズではありません。その中には各デバイスに配信される際には実際に使われないアーキテクチャのバイナリやビットコードなど、使われないかもしれないすべてのものが含まれているため実際よりかなり大きくなっています。

アップルが公開しているドキュメントを参考にして、配信される際の実際のサイズにおおよそ近いサイズを求めてみてください。おそらく数Mバイトから十数Mバイト程度になるのではないでしょうか？

<https://developer.apple.com/library/content/qa/qa1795/_index.html#//apple_ref/doc/uid/DTS40014195-CH1-GET_SIZE_REPORT>

上記のドキュメントの **Getting an App Size Report** セクションです。

>   1. Archive your app.
>   2. Export your archive for testing outside the store.
>   3. Select “Export for specific devices” and choose “All compatible device
> variants” from the pop-up menu.
>   4. Select "Rebuild from bitcode."
>

アプリをアーカイブし、アーカイブに対してXcodeからAppStore以外での配布の設定で“Export for specific
devices”と“All compatible device variants”を選択してエクスポート、"Rebuild from
bitcode."を有効にするのを忘れないでください。

そうすると`App Thinning Size
Report.txt`というファイルが同時に出力されますので、そこに配信される際のおおよそのサイズが記録されています。


CC BY-SA 3.0
2017-05-28T06:21:53.430
35086
2017-05-28T06:21:53.430
5519
34256
answer