Slide 1

Slide 1 text

͍͔ʹͯ͠ෆ۩߹ൃݟ࣌ͷ ϑΟʔυόοΫΛૉૣ͘ߦ͏͔ QPUBUPUJQT

Slide 2

Slide 2 text

I’m cutmail • Fablic, Inc. • Co-Founder • iOS / Android Application Engineer

Slide 3

Slide 3 text

ಥવͰ͕͢

Slide 4

Slide 4 text

͜Μͳͱ͖ Ͳ͏ͯ͠·͔͢ʁ

Slide 5

Slide 5 text

ΞϓϦͷQA

Slide 6

Slide 6 text

AdHocϏϧυͰQAதʹ ද่ࣔΕΛݟ͚ͭͯ͠·ͬͨʂ

Slide 7

Slide 7 text

୲౰ΤϯδχΞʹใࠂ

Slide 8

Slide 8 text

௚઀੮ʹߦ͘

Slide 9

Slide 9 text

1. iPhoneͰεΫϦʔϯγϣοτΛࡱΔ 2. Macʹసૹ 3. ෆ۩߹ͷঢ়گΛςΩετʹى͜͢ 4. νϟοτͰૹΔ νϟοτͰૹΔ

Slide 10

Slide 10 text

ΊΜͲ͍͘͞ IUUQTXXXqJDLSDPNQIPUPTSVOOFWFS

Slide 11

Slide 11 text

ෆ۩߹͸઱౓͕େࣄ IUUQTXXXqJDLSDPNQIPUPTCPPMFBOTQMJU

Slide 12

Slide 12 text

΋ͬͱखܰʹ ϑΟʔυόοΫ͍ͨ͠ IUUQTXXXqJDLSDPNQIPUPTTMXPSLJOH

Slide 13

Slide 13 text

ΤϯδχΞ͕ཉ͍͠৘ใ •εΫϦʔϯγϣοτ •Ͳͷը໘Ͱൃੜͨ͠ͷ͔ •ΞϓϦͷϏϧυόʔδϣϯ •୺຤ •OSͷόʔδϣϯ

Slide 14

Slide 14 text

ͦ͜Ͱ

Slide 15

Slide 15 text

BugshotKit

Slide 16

Slide 16 text

BugshotKit wIUUQTHJUIVCDPNNBSDPBSNFOU#VHTIPU,JU w ෆ۩߹ͷϑΟʔυόοΫΛࢧԉͯ͘͠ΕΔϥ ΠϒϥϦ w εΫϦʔϯγϣοτͱίϯιʔϧϩάΛϝʔ ϧͰૹ৴ w ಛఆͷδΣενϟʔΛߦ͏͜ͱͰൃಈ

Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

ొ࿥ͨ͠δΣενϟʔΛߦ͏

Slide 19

Slide 19 text

w εΫϦʔϯγϣοτ w ίϯιʔϧϩά

Slide 20

Slide 20 text

؆қతͳฤूπʔϧ w ໼ҹ w ғΈ w ϞβΠΫ

Slide 21

Slide 21 text

؆қతͳฤूπʔϧ w ໼ҹ w ғΈ w ϞβΠΫ

Slide 22

Slide 22 text

$PNQPTF&NBJMΛλοϓ

Slide 23

Slide 23 text

ϝʔϧͰૹ৴

Slide 24

Slide 24 text

ϝʔϧड৴ ΞϓϦͷ৘ใͳͲ͕ɺ·ͱ·ͬͨঢ়ଶͰϑΟʔυόοΫ͕དྷΔ

Slide 25

Slide 25 text

ಋೖ

Slide 26

Slide 26 text

Podfileʹ௥Ճ pod 'BugshotKit', :head, :configuration => ['AdHoc'] $POpHVSBUJPOʹ͸#VHTIPU,JUΛ༗ޮʹ͍ͨ͠΋ͷΛ ࢦఆ͢Δ

Slide 27

Slide 27 text

ApplicationDelegate಺Ͱ ॳظԽ #ifdef DEBUG #import "BugshotKit.h" #endif @implementation FLAppDelegate #pragma mark - App Delegate methods - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { #ifdef DEBUG [BugshotKit enableWithNumberOfTouches:2 performingGestures:BSKInvocationGestureSwipeUp feedbackEmailAddress:@“[email protected]”]; #endif }

Slide 28

Slide 28 text

BSKInvocationGestureMask BSKInvocationGestureNone BSKInvocationGestureSwipeUp BSKInvocationGestureSwipeDown BSKInvocationGestureSwipeFromRightEdge BSKInvocationGestureDoubleTap BSKInvocationGestureTripleTap BSKInvocationGestureLongPress ෳ਺ͷδΣενϟʔΛ૊Έ߹ΘͤΔ͜ͱ͕Մೳ

Slide 29

Slide 29 text

೚ҙͷϝʔϧλΠτϧ [BugshotKit setEmailSubjectBlock:^NSString *(NSDictionary *info) { return [NSString stringWithFormat: @"Bug report from version %@, user %@", info[@“appVersion"], info[@"userID"]]; }];

Slide 30

Slide 30 text

info.json \ BQQ/BNF5FTU#VHTIPU,JU BQQ7FSTJPO TZTUFN7FSTJPO EFWJDF.PEFMJ1IPOF ^ ͦͷଞ೚ҙͷ৘ใΛ௥Ճ͢Δ͜ͱ΋Մೳ

Slide 31

Slide 31 text

log.txt <#VHTIPU,JU>&OBCMFEGPSpOHFSTXJQFVQ <#VHTIPU,JU>&OBCMFEGPSTXJQFGSPNSJHIU FEHF <#VHTIPU,JU>&OBCMFEGPSpOHFSTXJQFVQ <#VHTIPU,JU>&OBCMFEGPSTXJQFGSPNSJHIU FEHF

Slide 32

Slide 32 text

೚ҙͷ߲໨΋௥ՃՄೳ [BugshotKit setExtraInfoBlock:^NSDictionary *{ return @{ @"userID" : @(123), @"userType" : @"normal" }; }]; \ BQQ/BNF5FTU#VHTIPU,JU BQQ7FSTJPO TZTUFN7FSTJPO EFWJDF.PEFMlJ1IPOF z VTFS*%lz VTFS5ZQFlOPSNBMz ^ JOGPKTPO

Slide 33

Slide 33 text

#VHTIPU,JU BugshotKit Flow ࣗಈԽ!

Slide 34

Slide 34 text

஫ҙ఺ private APIΛ࢖͍ͬͯΔͷͰ ৹ࠪʹग़͢ࡍ͸஫ҙ͕ඞཁ

Slide 35

Slide 35 text

ϑΟʔυόοΫܥϥΠϒϥϦ •fladdict/AAMFeedback •dealforest/DFTDebugScreenshot •cookpad/issue-reporter-android

Slide 36

Slide 36 text

·ͱΊ •BugshotKitΛ࢖͏ͱ։ൃऀʹૉૣ͘ ϑΟʔυόοΫ͕Ͱ͖Δ •Fabric(Crashlytics)ͳͲͱηοτͰ࢖ ͏ͱΑΓޮՌత

Slide 37

Slide 37 text

ΤϯδχΞืूத J04ΤϯδχΞ "OESPJEΤϯδχΞ αʔόʔαΠυΤϯδχΞ

Slide 38

Slide 38 text

͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ