Slide 1

Slide 1 text

࠷ۙͷ։ൃ؀ڥʹ͍ͭͯ ࿩ͯ͠ΈΔ Koichi Sakata (@huin) genesix, Inc.

Slide 2

Slide 2 text

ࣗݾ঺հ • Koichi Sakata • @huin • genesix, Inc. • 2012೥৽ଔ • iOSྺ2೥ͪΐͬͱ • WWDC 2013ࢀՃͰ͖ͨ!!

Slide 3

Slide 3 text

גࣜձࣾδΣωγοΫε

Slide 4

Slide 4 text

iOSΞϓϦ։ൃͰ Α͋͘Δ͜ͱ

Slide 5

Slide 5 text

ϥΠϒϥϦͷಋೖͰ ࣌ؒͱΒΕΔ

Slide 6

Slide 6 text

ϥΠϒϥϦͷಋೖͰ࣌ؒͱΒΕΔ • ιʔείʔυ͚ͩͳΒ໰୊ͳ͍ • ϑϨʔϜϫʔΫϦϯΫ͢ΔͳΒ༨༟ • Build Settings࿔Γ࢝ΊΔͱ໘౗ • Linker Flag, Header Path, ... • ଞͷϥΠϒϥϦ࢖ͬͯͨΒܹ͓͜(ry

Slide 7

Slide 7 text

Ͳ͏͢Δͷʁ

Slide 8

Slide 8 text

CocoaPodsͰ͠ΐ!!

Slide 9

Slide 9 text

CocoaPods • օ͞Μ͝ଘ஌ϥΠϒϥϦ؅ཧπʔϧ • ϓϩδΣΫτ΁ͷϦϯΫ΋΍ͬͯ͘ΕΔͷ͕ඇ ৗʹ͏Ε͍͠. • ࣾ಺ϥΠϒϥϦ(ඇެ։)Ͱ΋͓k

Slide 10

Slide 10 text

# Install CocoaPods $ gem install cocoapods # Setup $ cd /path/to/Project $ vim Podfile platform :ios pod ‘Reachability’ pod ‘PrivateLib’, :git => ‘[email protected]:org/PrivateLib.git’ # Install Libs $ pod install $ open Project.xcworkspace -a /Application/Xcode.app

Slide 11

Slide 11 text

SenTestingKit͕෺଍Γͳ͍

Slide 12

Slide 12 text

Ͳ͏͢Δͷʁ

Slide 13

Slide 13 text

KiwiͰ͠(ry

Slide 14

Slide 14 text

Kiwi • BDD, RSpecͳςετϑϨʔϜϫʔΫ • Mock, Stubs΋ͻͱ௨ΓἧͬͯΔ • Class, ProtocolͷMockͳͲ • ඇಉظͳςετ΋ͪΌΜͱॻ͚Δ • ಋೖ͸ target :ProjectTests, :exclusive => true do pod ‘Kiwi’ end

Slide 15

Slide 15 text

Kiwi • Blocksͷωετʹҧ࿨ײ • ׳ΕͨΒେͨ͜͠ͱͳ͔ͬͨ • iBooks ͷ νϡʔτϦΞϧຊ͕ศར • https://itunes.apple.com/us/book/id502345143 • Xcode͔Βit୯ҐͰ࣮ߦͰ͖ͳ͍ͷ͕࢒೦

Slide 16

Slide 16 text

։ൃ͍͚ͨ͠Ͳ API͕ؒʹ߹ͬͯͳ͍

Slide 17

Slide 17 text

։ൃ͍͚ͨ͠ͲAPI͕ؒʹ߹ͬͯͳ͍ • Α͋͘Δ࿩ʁ΢ν͚ͩʁ • ଴ͭͷ͸͕࣌ؒ΋͍ͬͨͳ͍ • APIͰ͖ͯ΋Τϥʔ·ΘΓͷςετͱ͔͸ͮ͠ Β͍ • ଞࣾͷAPIͩͱͲ͏͠Α͏΋ͳ͍ • Sinatra+PowͰखݩʹμϛʔαʔόʁ

Slide 18

Slide 18 text

Nocilla

Slide 19

Slide 19 text

Nocilla • ϦΫΤετʹରͯ͠ɺ೚ҙͷϨεϙϯεΛฦ͠ ͯ͘ΕΔΑ͏ʹ͢ΔϥΠϒϥϦ • ΞϓϦͷதͰ׬݁͢ΔͷͰָ • ϝιουνΣΠϯతʹॻ͚Δͷ͕ؾ͍͍࣋ͪ • ಋೖ͸ target :ProjectTests, :exclusive => true do pod ‘Nocilla’ end

Slide 20

Slide 20 text

Nocilla • Ϩεϙϯεॻ͘ͷ͸݁ہखؒ • ͜ͷ෦෼͸࢓ํͳ͍(ͱࢥͬͯΔ) • ϨεϙϯεͷJSONϑΝΠϧ࡞ͬͯWikiʹίϐϖ ͓͚ͯ͠͹ͳΜͱͳ͘υΩϡϝϯτ • ߴػೳ͞Ͱݴ͏ͱOHHTTPStubs

Slide 21

Slide 21 text

ίϚϯυϥΠϯ͔Β ΄͛΄͍͛ͨ͠

Slide 22

Slide 22 text

CLIͰ΄͛΄͍͛ͨ͠ • Jenkinsͱ͔Jenkinsͱ͔Jenkinsͱ͔... • xcodebuild ͕ςετͷ࣮ߦαϙʔτͯ͠ͳ͍ • ϩδοΫςετ͚ͩͳΒͳΜͱ͔ • SimulatorͰ΋Ͱ͖Δ͚ͲτϦοΩʔ • ڵຯ͋Δํ͸k_kinukawa͞Μͷهࣄ ࢀর • http://kkinukawa.hatenablog.com/entry/ 2013/04/12/012256

Slide 23

Slide 23 text

xctool

Slide 24

Slide 24 text

xctool • facebook੡(ͳΜ͔৴༻Ͱ͖Δ) • γϛϡϨʔλʔͰͷςετ΋Ͱ͖ΔΑ!! • CI޲͚ͷઃఆ΋ॻ͍ͯ͋ͬͯ҆৺ • .xctool-argsͰઃఆ؆ུԽ • ಋೖ؆୯(͍ͭͷؒʹ͔HomebrewରԠͯͨ͠) $ brew install xctool

Slide 25

Slide 25 text

xctool • ೚ҙͷςετ(ϝιου)୯ҐͰ࣮ߦͰ͖Δ • Kiwiͱͷ૊Έ߹Θͤͩͱҙຯͳ͍ • ςετϨϙʔτͷग़ྗܗ͕ࣜ๛෋ • ύοέʔδ(ipa)࡞੒͸Ͱ͖ͳ͍Έ͍ͨ • ‘xctool archive‘͸xcarchive༻Β͍͠ • xcrun Ͱ΍Γ·͠ΐ͏

Slide 26

Slide 26 text

·ͱΊ • ։ൃޮ཰্͛ΔπʔϧͬͯେࣄͰ͢ΑͶ • ։ൃ଎౓ʹޮ͍ͯ͘Δ • ࠷ۙ͸๛෋ʹͳ͖ͬͯͨͱࢥ͏ • ManiacDev.comܦ༝ͷ৘ใ͕ଟ͍ • http://maniacdev.com/ • ΋ͬͱศརͳͷͱ͔͋Ε͹ڭ͑ͯԼ͍͞

Slide 27

Slide 27 text

ࢀߟ • CocoaPods • http://cocoapods.org/ • Kiwi • https://github.com/allending/Kiwi • Nocilla • https://github.com/luisobo/Nocilla • OHHTTPStubs • https://github.com/AliSoftware/OHHTTPStubs • xctool • https://github.com/facebook/xctool

Slide 28

Slide 28 text

ൃදͰ࢖ͬͨσϞ͸ͪ͜Β https://github.com/kshuin/ToolsDemo