$30 off During Our Annual Pro Sale. View Details »

Cutting Binary Size on a Growing App

Cutting Binary Size on a Growing App

Bruce Evans
LINE iOS Client Team Software Engineer
https://linedevday.linecorp.com/jp/2019/sessions/S2-13

LINE DevDay 2019

November 21, 2019
Tweet

More Decks by LINE DevDay 2019

Other Decks in Technology

Transcript

  1. 2019 DevDay
    Cutting Binary Size on a Growing
    App
    > Bruce Evans
    > LINE iOS Client Team Software Engineer

    View Slide

  2. > Cellular Limits
    > Speed
    > Convenience
    Why?

    View Slide

  3. Size Over Time
    0
    33
    67
    100
    133
    167
    200
    7.0.0 7.3.0 7.7.0 7.11.0 7.14.0 7.17.0 8.1.0 8.4.0 8.7.0 8.11.0 8.14.5 8.18.0 9.2.0 9.7.0 9.13.0
    150MB Limit
    2017-2019
    100MB Limit
    2013-2017
    200MB Limit
    2019~

    View Slide

  4. Tools
    ImageOptim Bloaty
    Grand
    Perspective

    View Slide

  5. Grand Perspective

    View Slide

  6. View Slide

  7. Work
    Swift
    Downloadable
    Resources
    Switch to First Party
    DIY
    Pruning Features
    Image Compression

    View Slide

  8. Image Compression
    Compress free images
    Compress `.xcasset` images
    Use `.xcassets`

    View Slide

  9. Downloadable Resources
    Download from LINE Servers
    Download from Third Party
    Apple’s On Demand Resources

    View Slide

  10. Pruning Features
    Outdated Features
    3rd Party SDKs
    Extensions

    View Slide

  11. DIY
    Small Categories & Animations
    Credit Card Detection

    View Slide

  12. First Party Support
    Maps
    Localization

    View Slide

  13. Swift
    -Osize
    Reflection Metadata

    View Slide

  14. Thank You

    View Slide