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

Layout Debug with Reveal.app

Layout Debug with Reveal.app

USAMI Kosuke

December 23, 2015
Tweet

More Decks by USAMI Kosuke

Other Decks in Programming

Transcript

  1. Xcode ͱͷҧ͍ • Reveal ͸ break ͠ͳͯ͘΋ϨΠΞ΢τ֬ೝͰ͖Δ • Live Edit

    : Reveal ͸ͦͷ৔Ͱ஋ʢframe ΍ color ͳ ͲʣΛॻ͖׵͑Δ͜ͱ͕Ͱ͖Δ
  2. Auto Layout ͷ Live Edit • ֤ Constraint ʹରͯ͠ɾɾɾ •

    Constant ஋ͷมߋ • Active / NonActive ੾Γସ͑ • ίʔυͰͰ͖Δ͜ͱͱಉ͡
  3. ྫ • σβΠφʔ͞Μ͔ΒͷϨΠΞ΢τࢦࣔͩͱ iPhone 4S Ͱݟ੾ ΕΔ • Α͋͘Δɻ •

    σβΠφʔ͞Μ͸ iPhone 4S ͷදࣔʹͩ͜ΘΓ͕ͳ͍ • ๻ʮ͡Ό͋ͬͪ͜ͰϚʔδϯͱ͔ௐ੔͠·͢Ͷʯ
  4. ʢ༨ஊʣ • σβΠφʔ͞Μ͸ iPhone 4S Λ੾Γ͍ͨͱΑ͘ݴ͏ • ͏ΜɺΘ͔Δɻ • ͨͩɺiPad

    ͷ iPhone ޓ׵දࣔ΋ಉ͡ॎԣൺ • iPad ͰϘλϯ͕͸Έग़ͯԡͤͳ͍ → ϦδΣΫτ
  5. ௐ੔ • iPhone 4S + Reveal Ͱ໨తͷը໘Λදࣔ • Ϛʔδϯͷ Constant

    Λมߋͯ͠ྑͦ͞͏ͳ஋Λ୳͢ • ͜ͷ࡞ۀ͕ Reveal ͩͱΘΓͱָͰྑ͍
  6. ࣮૷ • ྫ : Ϛʔδϯ͕௨ৗ 30 pt / 4S ͚ͩ

    15 pt • Ϛʔδϯ >= 15 pt ͷ੍໿Λ͚ͭΔ • Ϛʔδϯ == 30 pt ͷ੍໿Λ͚ͭΔʢ༏ઌ౓Լ͛Δʣ • Ͱ͖ͨΒ Reveal Ͱ࠶֬ೝ
  7. Tips : Reveal ಋೖ • Reveal Λ࢖͏ʹ͸ɺiOS ΞϓϦʹ Reveal ϥΠϒϥϦΛϦ

    ϯΫ͢Δඞཁ͕͋ΔʢCocoaPods Λར༻Ͱ͖Δʣ • LLDB Ͱϩʔυ : Integrating Reveal without modifying your Xcode project - Itty Bitty Labs
  8. iOS γϛϡϨʔλͷ৔߹ • ࣄલʹϦϯΫͯ͠ͳͯ͘΋ LLDB ͰϩʔυͰ͖Δ expr (void*)dlopen( "/Applications/Reveal.app/Contents/SharedSupport/iOS-Libraries/libReveal.dylib", 0x2);

    expr [(NSNotificationCenter*)[NSNotificationCenter defaultCenter] postNotificationName:@"IBARevealRequestStart" object:nil];
  9. iOS ࣮ػͷ৔߹ • ࣄલʹ Copy Resources ͕ඞཁ͚ͩͲɺLink ͸ෆཁ expr (void*)dlopen(

    [(NSString*)[(NSBundle*)[NSBundle mainBundle] pathForResource:@"libReveal" ofType:@"dylib"] cStringUsingEncoding:0x4], 0x2); expr [(NSNotificationCenter*)[NSNotificationCenter defaultCenter] postNotificationName:@"IBARevealRequestStart" object:nil];
  10. AppCode integration • AppCode ͳΒɺDebug Condigurations Ͱ Inject Reveal library

    on launch Λ༗ޮʹ͓͚ͯ͠͹ OK • ͓ͦΒ͘લड़ͷํ๏Λࣗಈతʹ΍ͬͯ͘Ε͍ͯΔ