Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Debugging takes time, can we speed it up?

Debugging takes time, can we speed it up?

A talk about debugging, great tools and tricks held at SwiftConf in 2015. Full resources available at: https://github.com/SwiftConf/presentation-legoless

Due to a bug in Keynote, some slides have some characters missing. See slide images on link above.

Dal Rupnik

June 29, 2015
Tweet

More Decks by Dal Rupnik

Other Decks in Programming

Transcript

  1. DEBUGGING TAKES TIME
    Can we speed it up?
    Dal Rupnik

    View Slide

  2. HOW MUCH TIME
    DEBUGGING?
    DO WE SPEND

    View Slide

  3. DEVELOP
    DEBUG
    TEST
    How much time
    does it

    View Slide

  4. DEVELOP
    DEBUG
    TEST
    How much time
    does it

    View Slide

  5. DEVELOP
    DEBUG
    TEST
    How much time
    does it

    View Slide

  6. So, can we
    speed it up?

    View Slide

  7. YES!

    View Slide

  8. DOES APPLE DO
    ANYTHING ?

    View Slide

  9. OF COURSE.
    THEY DO A LOT!

    View Slide

  10. This year’s large update to developer tools from Apple. Brings
    many new features, including Swift 2.0, iOS9 SDK, 10.11 SDK,
    watchOS 2.0 SDK and more.
    Xcode 7

    View Slide

  11. TESTING
    Update to testing in Xcode 7
    Unit Testing
    Performance Testing
    User Interface Testing
    Code Coverage
    Crash Logs

    View Slide

  12. Each commit should be tested on a clean system that is
    integrated with your repository. We are immediately
    notified of any errors.
    CONTINUOUS INTEGRATION

    View Slide

  13. IS THIS ALL THAT
    IS OUT THERE?

    View Slide

  14. I THINK NOT!

    View Slide

  15. OPEN SOURCE
    solves
    15

    View Slide

  16. Xcode Plugins
    have
    16
    ALCATRAZ Is a simple, yet beautiful package manager for Xcode. Its features include discovery of the plugins, editor
    themes and file templates and installing them with a single click.
    Run and stop applications on all
    connected iOS devices with one
    command.
    Run Everywhere
    Control iOS device remotely
    from a window on Mac. Record
    macros and replay them.
    Remote
    Browse memory in realtime in a
    web view on your Mac. Even
    displays an object graph.
    XProbe

    View Slide

  17. Amazing TOOLS
    DEVELOPERS
    FROM MANY

    View Slide

  18. FACEBOOK
    INFER STATIC ANALYZER

    View Slide

  19. Super Debugger is the iOS wireless debugging system that allows
    you to sent messages to any object in your app.
    By Jason  Brennan @ Shopify
    Super Db

    View Slide

  20. Library that allows checking error logs and crashes
    inside application without external services.
    By Nick  Lockwood
    iConsole

    View Slide

  21. A remote debugging toolset that logs
    all network traffic on iOS devices.
    Pony Debugger
    By guys at Square

    View Slide

  22. View and modify almost every state in application.
    By Ryan  Olson @ Flipboard
    Flipboard explorer

    View Slide

  23. THANK YOU FOR
    YOUR CONTRIBUTIONS!

    View Slide

  24. WE SHOULD
    ALL CONTRIBUTE!

    View Slide

  25. Everyone should be contributing to
    Open Source. Including me and you.
    AND NOW YOU WONDER
    What exactly is my contribution?

    View Slide

  26. Alpha
    INTRODUCING

    View Slide

  27. HOW DOES IT LOOK LIKE?
    it starts with an easy
    27

    View Slide

  28. WHAT IS ALPHA?
    a
    28
    Architecture is extensible to any  
    device or application.
    1
    Features are separated into multiple  
    plugins and can be excluded.
    2
    Easy and simple integration in the
    application without configuration.
    3
    Architecture Plugins
    Integration

    View Slide

  29. COMBINES
    MANY FEATURES

    View Slide

  30. FEATURES IN ALPHA
    features from
    30
    Inspect views in app and
    pinpoint layout issues.
    View Hierarchy
    Preview app’s files in
    sandbox.
    File system
    Inspect network
    connection calls.
    NETWORK

    View Slide

  31. Scroll through local
    notifications or received
    push notifications.
    Notifications
    Integrate with KZBootstrap,
    change build environments
    inside your application.
    ENVIRONMENTS
    Follow application events,
    such as transition to
    background state and back.
    EVENTS

    View Slide

  32. WHAT ABOUT
    Remote?

    View Slide

  33. github.com/legoless/Alpha
    TAKE A LOOK!

    View Slide


  34. Thank you!

    View Slide