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

iOSエンジニアに求められる役割について

teamLab
PRO
September 21, 2023

 iOSエンジニアに求められる役割について

iOSDC2023に公開されたセッション「iOSエンジニアに求められる役割について」のプレゼンテーションです。
チームラボでは、スマホアプリ開発者を募集しています。
少しでも、チームラボにご興味をお持ち頂けましたら、採用ページをご覧頂けますと幸いです。
https://www.team-lab.com/recruit/

teamLab
PRO

September 21, 2023
Tweet

More Decks by teamLab

Other Decks in Programming

Transcript

  1. iOSΤϯδχΞʹٻΊΒΕΔ໾ׂʹ͍ͭͯ
    νʔϜϥϘגࣜձࣾ

    ੺ᖒ ւ஌

    View Slide

  2. ࣗݾ঺հ
    ໊લɿɹ੺ᖒ ւ஌


    ॴଐɿɹνʔϜϥϘגࣜձࣾ


    iOSΤϯδχΞ ̏೥໨

    View Slide

  3. iOSΤϯδχΞͬͯԿΛ͢ΔਓͩΖ͏ʁ

    View Slide

  4. ͻͨ͢ΒSwiftͰίʔυΛॻ͍ͯ...
    ͻͨ͢ΒiPhoneΛಈ͔͍ͯ͘͠...
    ೖࣾલʹ૝૾͍ͯͨ͠Πϝʔδ
    iOSΤϯδχΞ = ίʔυॻ͍ͯiOSΞϓϦΛ࡞Δਓ
    νʔϜ։ൃͳͷͰ


    - ଞͷ୭͔͕࢓༷ॻΛ࡞͍ͬͯΔ


    - ଞͷ୭͔͕σβΠϯΛ࡞͍ͬͯΔ
    ͻͨ͢ΒPCͱiPhoneͱ޲͖߹͏͕࣌ؒଟ͍

    View Slide

  5. Swift͕ॻ͚Ε͹׆༂Ͱ͖Δʂ


    SwiftΛۃΊΕ͹ۃΊΔ΄ͲiOSΤϯδχΞͱͯ͠όϦϡʔΛग़ͤΔʂʂ

    View Slide

  6. Swift͕ॻ͚Ε͹׆༂Ͱ͖Δʂ


    SwiftΛۃΊΕ͹ۃΊΔ΄ͲiOSΤϯδχΞͱͯ͠όϦϡʔΛग़ͤΔʂʂ
    ʁ

    View Slide

  7. νʔϜϥϘͰͷϓϩδΣΫτʹ͍ͭͯ

    View Slide

  8. ԿΛ΍ͬͯΔͷ͔ʁ
    Ξʔτ डୗ։ൃ

    View Slide

  9. ԿΛ΍ͬͯΔͷ͔ʁ
    Ξʔτ डୗ։ൃ

    View Slide

  10. ৬छ
    Technology Creative Catalyst Others
    WebΞϓϦ
    ϑϩϯτΤϯυ
    εϚϗΞϓϦ
    σʔλαΠΤϯςΟετ
    ػցֶशɾը૾ॲཧ
    ۭؒԋग़
    ΠϯλϥΫςΟϒ
    α΢ϯυϓϩάϥϚʔ
    UI/UXσβΠφʔ
    ϏδϡΞϧσβΠφʔ
    γωϚτάϥϑΝʔ
    3DCGΞχϝʔλʔ
    ϓϩμΫτσβΠφʔ
    ΞʔΩςΫπ
    ιϦϡʔγϣϯ
    ϓϩδΣΫτϚωʔδϟʔ
    Ξʔτ / లࣔܭը
    ۭؒ / ࢪ޻؅ཧ
    ςΫχΧϧ / ػࡐબఆ
    ࣗࣾϓϩμΫτ
    Ξʔτలͷ޿ใ
    ࠾༻୲౰
    ๏຿
    ࣄ຿

    View Slide

  11. ৬छ
    Technology Creative Catalyst Others
    WebΞϓϦ
    ϑϩϯτΤϯυ
    εϚϗΞϓϦ
    σʔλαΠΤϯςΟετ
    ػցֶशɾը૾ॲཧ
    ۭؒԋग़
    ΠϯλϥΫςΟϒ
    α΢ϯυϓϩάϥϚʔ
    UI/UXσβΠφʔ
    ϏδϡΞϧσβΠφʔ
    γωϚτάϥϑΝʔ
    3DCGΞχϝʔλʔ
    ϓϩμΫτσβΠφʔ
    ΞʔΩςΫπ
    ιϦϡʔγϣϯ
    ϓϩδΣΫτϚωʔδϟʔ
    Ξʔτ / లࣔܭը
    ۭؒ / ࢪ޻؅ཧ
    ςΫχΧϧ / ػࡐબఆ
    ࣗࣾϓϩμΫτ
    Ξʔτలͷ޿ใ
    ࠾༻୲౰
    ๏຿
    ࣄ຿

    View Slide

  12. ։ൃͷྲྀΕ
    ❸ ։ൃ
    ❶ ཁ݅ఆٛ ❹ ςετ ❺ ϦϦʔε
    ❷ UI/UX


    ɹσβΠϯ
    ※໌֬ʹϑΣʔζ͕෼͔Ε͍ͯΔΘ͚Ͱ͸ͳ͍͕ɺΘ͔Γ΍͘͢ϑΣʔζΛ෼͚͍ͯΔ

    View Slide

  13. ❸ ։ൃ
    ❶ ཁ݅ఆٛ ❹ ςετ ❺ ϦϦʔε
    ❷ UI/UX


    ɹσβΠϯ

    View Slide

  14. ཁ݅ఆٛͰ͸ԿΛ͢Δʁ
    - Ϣʔβʔɺސ٬ͷχʔζΛཧղ
    - ΞϓϦΛ࡞Δ໨త͸ʁ Կ͕ղܾͰ͖Δͷ͔ʁ
    - ࣮ݱ͢ΔͨΊͷํ๏Λચ͍ग़͢
    - ໨తΛୡ͢ΔͨΊʹͲΜͳػೳɺٕज़͕ඞཁ͔ʁ

    View Slide

  15. ٕज़໨ઢͰৄࡉΛચ͍ग़͢
    ސ٬
    Push௨஌ػೳ͕ཉ͍͠
    ߟྀ͢Δ߲໨


    - ௨஌ڐՄઃఆ͸Ͳͷϑϩʔʹ૊ΈࠐΉʁ


    - ௨஌ઃఆߋ৽ػೳͷݕ౼


    - APNsτʔΫϯͷऔಘɺొ࿥ɺߋ৽ͷϑϩʔ
    ΑΓৄࡉͳγεςϜϑϩʔͷΞ΢τϓοτ

    View Slide

  16. AppleͷΨΠυϥΠϯʹଇ͍ͯ͠Δ͔
    ސ٬
    GoogleΞΧ΢ϯτͰϩάΠϯͰ͖ΔΑ͏ʹ͍ͨ͠
    ιʔγϟϧϩάΠϯαʔϏεΛ࢖༻͢Δ৔߹͸


    ʮAppleͰαΠϯΠϯʯΛ૊ࠐΉඞཁ͕͋Γ·͢ʂ
    iOSΤϯδχΞ
    App Store ReviewΨΠυϥΠϯͷ஌ݟΛ࣋ͬͨiOSΤϯδχΞ͕ؔΘΔ͜ͱͰ


    ΨΠυϥΠϯʹ൓ͨ͠࢓༷ͷճආ

    View Slide

  17. ❸ ։ൃ
    ❶ ཁ݅ఆٛ ❹ ςετ ❺ ϦϦʔε
    ❷ UI/UX


    ɹσβΠϯ

    View Slide

  18. UI/UXσβΠϯ࡞੒Ͱ͸ԿΛ͢Δʁ
    ཁ݅Λ΋ͱʹΞϓϦͷσβΠϯΛ࡞੒
    ࢖͍΍͍͢


    - ௚ײతʹ࢖͑Δ


    ྑ͍ମݧΛಘΒΕΔ


    - ҹ৅ʹ࢒Δ


    - ڵຯΛૡཱ͖ͯΔ
    ࣮ݱ͍ͨ͜͠ͱ

    View Slide

  19. OSಛ༗ͷίϯϙʔωϯτͷ࢖༻
    ݒ೦఺


    - AndroidͱσβΠϯ΍ڍಈʹࠩҟ͕ੜ͡Δ
    iOSͱAndroidͱͷࠩҟΛ཈͑


    ద੾ʹίϯϙʔωϯτΛ׆༻Ͱ͖ΔΑ͏ʹ͍ͯ͘͠


    - ౷Ұ͞ΕͨσβΠϯʹΑΓϢʔβʔ͕௚ײతʹ࢖͑Δ
    - ޮ཰తͳ։ൃ͕Ͱ͖Δ

    View Slide

  20. ίϯϙʔωϯτ΋Ξοϓσʔτ͞ΕΔ
    iOS13 or below iOS14 or above
    ྫɿUIDatePicker
    ࠷৽ͷ৘ใΛΩϟον͠ɺσβΠφʔͱڞ༗

    View Slide

  21. ٕज़ࢹ఺͔Β΋UXΛߟ͑Δ
    ࠷దͳσβΠϯΛҰॹʹ໨ࢦ͢
    UX޲্ͷͨΊɺΞχϝʔγϣϯදࣔΛ͍ͨ͠
    ύϑΥʔϚϯε౳ͷ֬ೝ
    Ξχϝʔγϣϯ
    ࡞੒
    iOSΤϯδχΞ
    σβΠφʔ

    View Slide

  22. ❸ ։ൃ
    ❶ ཁ݅ఆٛ ❹ ςετ ❺ ϦϦʔε
    ❷ UI/UX


    ɹσβΠϯ

    View Slide

  23. ࣮૷ΛਐΊΔ্Ͱେ੾ͳ͜ͱ
    ཁ݅Ͱఆٛ͞Εͨ࢓༷΍඼࣭Λຬ଍ͨ͠΋ͷΛɺεέδϡʔϧ಺ʹ࣮૷͢Δ
    ࢓༷ͷೝࣝΛ߹ΘͤΔ ։ൃޮ཰Λ্͛Δ

    View Slide

  24. ࢓༷ͷೝࣝΛ߹ΘͤΔ
    ࡉ͔͍࢓༷·ͰೝࣝΛ߹ΘͤΔ
    ϓϥοτϑΥʔϜؒͰͷೝࣝ߹Θͤ
    - σʔλϞσϧ͸ʁ


    - UIͷঢ়ଶ؅ཧ͸ʁ


    - Τϥʔ࣌ͷॲཧ͸ʁ


    etc…
    iOSΤϯδχΞ
    AndroidΤϯδχΞ
    αʔόʔαΠυΤϯδχΞ
    ࢓༷ೝࣝ
    ద੾ͳํ๏ͰೝࣝΛ߹Θ͍ͤͯ͘
    จॻԽ


    - Issue؅ཧ


    - υΩϡϝϯτͷ࡞੒
    ίϛϡχέʔγϣϯ
    - ϛʔςΟϯά
    - νϟοτπʔϧ

    View Slide

  25. ։ൃޮ཰Λ্͛Δ
    ΞϓϦ։ൃΛޮ཰తʹਐΊΔͨΊͷӡ༻Λݕ౼͍ͯ͘͠ɹ
    Ϗϧυɾςετͷ଴ػ଴ͪ࣌ؒ
    ςετ࿙ΕʹΑΔख໭Γ
    CIπʔϧʹΑΔ


    ϏϧυɾςετࣗಈԽ
    ޮ཰Down⤵ ޮ཰Up⤴

    View Slide

  26. ❸ ։ൃ
    ❶ ཁ݅ఆٛ ❹ ςετ ❺ ϦϦʔε
    ❷ UI/UX


    ɹσβΠϯ

    View Slide

  27. ςετϑΣʔζͰ΍Δ͜ͱ
    ΞϓϦʹ໰୊ͳ͍͔֬ೝ
    - ਖ਼ৗʹಈ࡞͢Δ͔
    - ࢓༷௨Γʹͳ͍ͬͯΔ͔
    QAΤϯδχΞ͕ΞϓϦΛಈ͔ͯ͠ςετ
    όάमਖ਼
    όάൃੜ

    View Slide

  28. ςετͷͨΊͷ؀ڥΛ༻ҙ
    ϞοΫ؀ڥͷ༻ҙ
    αʔόʔ͔ΒͷϨεϙϯεʹΑΔදࣔ΍ڍಈΛ֬ೝ͍ͨ͠
    ςετΛޮ཰Α͘ਐΊΔͨΊͷαϙʔτ
    ϞοΫ


    αʔόʔ
    ࣮ࡍͷ


    αʔόʔ
    μϛʔσʔλ

    View Slide

  29. όά͕ݟ͔ͭͬͨ৔߹
    όάͷमਖ਼
    ɹ὎ ͦΕͰऴΘΓͰ͸ͳ͍
    ࠶ൃ๷ࢭࡦͷݕ౼
    - όά͕ൃੜ͠ʹ͍࣮͘૷
    - όάͷૣظൃݟ͕͠΍͍͢ӡ༻

    View Slide

  30. ❸ ։ൃ
    ❶ ཁ݅ఆٛ ❹ ςετ ❺ ϦϦʔε
    ❷ UI/UX


    ɹσβΠϯ

    View Slide

  31. ϦϦʔε
    ຊ൪༻ΞϓϦͷ༻ҙ


    - bundle ID


    - ຊ൪αʔόʔͷ઀ଓઌ


    - API Keyɹ౳
    App Store
    ਃ੥ࣄ຿खଓ͖
    ຊ൪༻


    App

    View Slide

  32. ϦδΣΫτ͞ΕΔ͜ͱ΋͋Δ
    ϦδΣΫτཧ༝ͷ֬ೝ
    ղܾࡦͷݕ౼ɺରԠ
    ࠶ఏग़
    App Store
    ϦδΣΫτʂ
    ਃ੥͕௨ΔΑ͏ղܾࡦͷݕ౼ɺରԠΛਐΊ͍ͯ͘

    View Slide

  33. ϦϦʔε׬ྃʂʂ

    View Slide

  34. ϦϦʔεޙ΋ଓ͘
    - ΞϓϦͷվળ


    - ෆ۩߹मਖ਼ɺϨϏϡʔࢦఠ಺༰վળ


    - ػೳͷ௥Ճ


    - ৽OSରԠ


    - ৽OSόʔδϣϯʹΑΔӨڹௐࠪ


    - ৽OSόʔδϣϯͰΞοϓσʔτͰ͖Δػೳ͸͋Δ͔


    ❸ ։ൃ
    ❶ ཁ݅ఆٛ ❹ ςετ ❺ ϦϦʔε
    ❷ UI/UX


    ɹσβΠϯ

    View Slide

  35. ݁ہiOSΤϯδχΞͷ໾ׂͱ͸
    ❸ ։ൃ
    ❶ ཁ݅ఆٛ ❹ ςετ ❺ ϦϦʔε
    ❷ UI/UX


    ɹσβΠϯ
    ୲౰ྖҬ
    ίʔσΟϯά

    View Slide

  36. ͻͨ͢ΒSwiftͰίʔυΛॻ͍ͯ...
    ͻͨ͢ΒiPhoneΛಈ͔͍ͯ͘͠...
    MTG΋݁ߏଟ͍...
    ίϛϡχέʔγϣϯ͸සൟʹऔΔ

    View Slide

  37. ·ͱΊ
    iOSΤϯδχΞͷ໾ׂͱ͸...


    - ίʔσΟϯά͚ͩͰ͸ͳ͍


    - ϓϩδΣΫτͷશϑΣʔζͰ໾ׂ͕ٻΊΒΕΔ

    View Slide

  38. iOSΤϯδχΞͷ࢓ࣄͷຊ࣭ɿ༏ΕͨΞϓϦΛ࡞Δ͜ͱ
    ίʔσΟϯά͸༏ΕͨΞϓϦΛ࡞ΔͨΊͷಓ۩ͷҰͭʹ͗͢ͳ͍
    ༏ΕͨΞϓϦΛ࡞ΔͨΊԿ͕Ͱ͖Δ͔Λৗʹߟ࣮͑ͯߦ͢Δ

    View Slide

  39. ཁ݅ఆ͔ٛΒϦϦʔε·Ͱ׆༂͍ͨ͠iOSΤϯδχΞΛ


    νʔϜϥϘͰ͸ืू͍ͯ͠·͢
    ϒʔε΋ग़͍ͯ͠ΔͷͰ


    ͥͻཱ͓ͪدΓ͍ͩ͘͞ʂ


    View Slide