Slide 1

Slide 1 text

ΫοΫύουͷ iOSߋ৽ͱͷ෇͖߹͍ํ 2017/06/12 CAMPFIRE iOS #2 ΫοΫύουגࣜձࣾ ໜ࿊ ஐେ

Slide 2

Slide 2 text

ࣗݾ঺հ • ໜ࿊ ஐେ - @slightair • iOS ΞϓϦΤϯδχΞ • ΫοΫύουגࣜձࣾ ٕज़෦ ϞόΠϧج൫άϧʔϓ • ࣾ಺ͷ։ൃ؀ڥ੔උɺαʔϏε։ൃ෦ॺͷٕज़తࢧԉ͕ۀ຿ • https://github.com/slightair

Slide 3

Slide 3 text

಺༰ • աڈͷ iOS & Xcodeߋ৽ͷରԠࣄྫͷ঺հ • ৽͍͠ػೳΛಋೖɾར༻͢Δཧ༝ • iOSͷߋ৽࣌ʹ஫ҙ͍ͯ͠Δͱ͜Ζ • ৽ػೳಋೖͷ൑அج४

Slide 4

Slide 4 text

Handoff ରԠ • iOSͱMacͷମݧΛҾ͖ܧ͙ػೳɺiOS8Ͱ௥Ճ͞Εͨ • ΫοΫύουΞϓϦͰ͸ΞϓϦ·ͨ͸ MacͰΈ͍ͯͨϨγϐը ໘Λ΋͏ยํʹҾ͖ܧ͙Α͏ʹ • ϦϦʔε౰ॳ apple-app-site-association΁ͷΞΫηε͕ΞϓϦ ࣗಈΞοϓσʔτʹ࿈ಈͯ͠ʁ೔෇Λ௒͑Δ࣌ʹεύΠΫ͢Δ ໰୊ʹૺ۰ .BD͔ΒJ1IPOFʹભҠͤ͞Α͏ΫοΫύου։ൃऀϒϩά IUUQUFDIMJGFDPPLQBEDPNFOUSZ

Slide 5

Slide 5 text

AppleWatch ରԠ • AppleWatch ʹϨγϐΛදࣔ • ϨγϐͰࢦఆ͞Εͨ࣌ؒͷ λΠϚʔΛઃఆ • 2015/3/27 ެ։ɺ2016/10/27 ऴྃ $PPLQBE"QQMF8BUDI"QQ஀ੜͷ෣୆ཪΫοΫύου։ൃऀϒϩά IUUQUFDIMJGFDPPLQBEDPNFOUSZ

Slide 6

Slide 6 text

Swift • WWDC2014 ͰൃදɺΫοΫύουΞϓϦͰ͸ 2016/5 ͋ͨΓ͔Βར༻։࢝ • ΞϓϦΛૉૣ͘ɺ҆શʹॻ͖͍ͨ…→ϥΠϒϥϦͷબఆ΋ؚΊɺ৻ॏʹಋೖ ΛਐΊ͖ͯͨ • ϨΨγʔίʔυΛϦϑΝΫλϦϯάͨ͠Γ ObjC ͷ nullability, LightweightGenerics ͳͲΛ௥Ճͨ͠Γे෼ʹ४උΛͯ͠ಋೖ • Swift 2.3 Λܦ༝ͯ͠ 2016/12 ʹ͸ Swift 3 ʹҠߦ׬ྃ 4XJGUϚΠάϨʔγϣϯΫοΫύου։ൃऀϒϩά IUUQUFDIMJGFDPPLQBEDPNFOUSZ

Slide 7

Slide 7 text

100%Λ໨ࢦ͍ͯ͠ΔΘ͚Ͱ͸ͳ͍͕ɺׂ߹͕େ͖͚ Ε͹SwiftͷػೳΛϑϧͰ࢖͑Δͱ͜Ζ͕޿͍ͱ͍͏ ͜ͱʹͳΔ͸ͣ… 2017/6 ݱࡏͷ Swift coverage

Slide 8

Slide 8 text

৽͍͠ػೳΛಋೖɾར༻͢Δཧ༝ • རศੑ޲্ͷͨΊ • ϓϩϞʔγϣϯͷͨΊ • ։ൃޮ཰޲্ͷͨΊ

Slide 9

Slide 9 text

རศੑ޲্ͷͨΊ • 4.7 / 5.5 Πϯν ը໘ରԠ (ࠓͱͳͬͯ͸౰ͨΓલ) • Spotlight ͰϨγϐݕࡧ • Shared Web Credential • ͳͲͳͲ ୺຤΍OSͷਐԽʹΑͬͯΞϓϦͰͰ͖Δ͜ͱ͸ ͲΜͲΜ૿͍͑ͯΔ

Slide 10

Slide 10 text

ϓϩϞʔγϣϯͷͨΊ • Handoff ରԠ • AppleWatch ରԠ (ݱࡏ͸ऴྃͯ͠Δ͚Ͳ…) ‣ Apple ͷαΠτʹࡌͤͯ΋ΒͬͨΓɺχϡʔεαΠτ ͳͲͰ࿩୊ʹͯ͠΋ΒͬͨΓ͠·ͨ͠ ৽ػೳΛར༻ͨ͠ΞϓϦ͸ AppStoreͰऔΓ্͛ ΒΕΔ͜ͱ΋͋ΓɺޮՌ͕ߴ͍

Slide 11

Slide 11 text

։ൃޮ཰޲্ͷͨΊ • Swift ͷར༻ • AutoLayoutؔ࿈ɺUIStackViewɺWebViewͳͲͳͲ • ඇਪ঑ʹͳͬͨ API ͷར༻ՕॴΛ࢒͢ͱෛ࠴ʹ… Ϣʔβʹݟ͑Δͱ͜Ζ͚ͩͰ͸ͳ͘։ൃͷ͠΍ ͢͞ɺ҆ఆੑ޲্ʹ΋Өڹ͕͋Δ

Slide 12

Slide 12 text

iOSߋ৽࣌ʹ஫ҙ͍ͯ͠Δͱ͜Ζ • มߋ఺ͷ৘ใऩू • ࣄۀ΁ͷӨڹ • ։ൃ؀ڥͷมԽʹ௥ै • αϙʔτόʔδϣϯͷݟ௚͠

Slide 13

Slide 13 text

มߋ఺ͷ৘ใऩू • ެࣜυΩϡϝϯτɺAPI diff ͳͲ • iOS ΍ Xcode ͷ beta ൛͕͖ͨΒ͙͢ࢼͦ͏ • beta ൛Λ৮͍ͬͯͯυΩοͱͨ͜͠ͱ ‣ UniversalLinks ͷόάͰҙਤͤͣ SPWeb ͷશͯͷϦϯΫ͔Β ΞϓϦىಈͪ͠Ό͏ → ్தͰಈ͖͕มΘͬͨ ‣ 10.3 beta2ɺΞϓϦ࡟আͰ Keychain ͷ৘ใ΋ফ͑Δ → औΓԼ͛ • όά͔ͳʁͬͯࢥͬͨΒόάϨϙʔτΛૹΖ͏ɺϑΥʔϥϜΛݟΑ͏ J04ͷϦϦʔεͰΫοΫύουʹى͖ͨ͜ͱΫοΫύου։ൃऀϒϩά IUUQUFDIMJGFDPPLQBEDPNFOUSZ

Slide 14

Slide 14 text

ࣄۀ΁ͷӨڹ͕ͳ͍͔୳Δ • ίϯςϯπϒϩοΧʔ ‣ εϚʔτϑΥϯWebͷ޿ࠂͲ͏ͳΔͷ ‣ ΞϓϦͷ͜ͱ͚ͩؾʹ͢Ε͹͍͍Θ͚Ͱ΋ͳ͍ • App Transport Security ‣ Ͳ͜·ͰରԠ͢Ε͹͍͍ͷɺඞਢԽԆظͨ͠͠… ‣ ޿ࠂ SDK ͷ௨৴ͳͲ͚ࣗࣾͩͰղܾ͠ͳ͍΋ͷ΋͋Δ ޿ࠂϒϩοΧʔͷݕ஌ͱܭଌʹ͍ͭͯΫοΫύου։ൃऀϒϩά IUUQUFDIMJGFDPPLQBEDPNFOUSZ "QQ5SBOTQPSU4FDVSJUZͱωοτϫʔΫ޿ࠂΫοΫύου։ൃऀϒϩά IUUQUFDIMJGFDPPLQBEDPNFOUSZ

Slide 15

Slide 15 text

։ൃ؀ڥͷมԽʹ௥ै͢Δ • Xcode, Swift ͷόʔδϣϯΞοϓʹ௥ैͯ͠ɺ ҆ఆͨ͠ϦϦʔεαΠΫϧͷͨΊͷݒ೦Λ෷১ ͢Δ • Swift ੡ͷϥΠϒϥϦ΍πʔϧΛߋ৽͢Δ • ։ൃΛଓ͚Δ͜ͱ͕Ͱ͖ͳ͍Α͏ͳঢ়گʹͳ Βͳ͍Α͏ؾΛ഑Δ

Slide 16

Slide 16 text

αϙʔτόʔδϣϯͷݟ௚͠ • جຊతʹ৽ػೳ͕࢖͑Δͷ͸৽͍͠όʔδϣϯͷ iOSͷΈ • جຊ͸௚ۙ2όʔδϣϯΛαϙʔτ͢Δํ਑ɺ Ϣʔβൺ཰Λݟͯ൑அ • Ϣʔβ૚తʹૢ࡞͕ಘҙͰͳ͍ਓ΋ߟྀͯ͠ɺ OSߋ৽ͷҊ಺Λ͖ͪΜͱߦ͑ΔΑ͏ʹ͢Δ

Slide 17

Slide 17 text

৽ػೳಋೖͷ൑அج४ • Ϣʔβ͕ศརʹͳΔػೳɺఏڙαʔϏεͱϚον͢Δ΋ͷ͸ ੵۃతʹऔΓ૊Ή • ػೳϦϦʔεޙʹऔΓԼ͛Δ͜ͱ΋͋Δ ‣ AppleWatch ͸զʑ͕αʔϏε֦େ૾Λ͏·͘ඳ͚ͳ͔ͬͨ ‣ த్൒୺ͳରԠঢ়گͰ࢒ͯ͠΋ϢʔβɾαʔϏεఏڙଆ૒ํ ʹෆརӹͱ൑அ • ϦϦʔε͠ͳͯ͘΋ϓϩτλΠϓΛ࡞͍ͬͯͨɺͱ͍͏͜ͱ΋ ‣ tvOS ͷΞϓϦΛࢼ͠ʹ࡞ͬͨ

Slide 18

Slide 18 text

৽ػೳಋೖͷ൑அج४ • ։ൃޮ཰΍ύϑΥʔϚϯεɺηΩϡϦςΟ͕޲্͢ ΔͳΒɺ࠾༻ • ໌Β͔ʹ΍Βͳ͍ͱߦ͖٧·Δ΋ͷ͸΍Δ͔͠ͳ͍ ‣ Swift ΍ Xcode ͳͲͷ։ൃπʔϧͷߋ৽ ‣ ৽APIͷͨΊʹ࠷৽ͷ SDK Λ࢖͏ඞཁ͕͋Δ͜ͱ ΋ → Α΄Ͳͷཧ༝͕ͳ͔ͬͨΒ࠷৽Λ࢖͏

Slide 19

Slide 19 text

·ͱΊ • ఏڙαʔϏε΍ΞϓϦʹ΋ΑΔͱ͸ࢥ͏͕ɺϢʔβ͕ศརʹ ͳΔ৽ػೳ͸ੵۃతʹ࠾༻͍͖͍ͯͨ͠ • όʔδϣϯΞοϓʹΑΔมߋ఺ͷ৘ใऩू͸͔ͬ͠Γ΍Ζ͏ɺ ৭ʑͳ໘͔ΒӨڹ͕ͳ͍͔୳Δ • ҆ఆͨ͠ϦϦʔεαΠΫϧΛճͨ͢Ίɺ։ൃ؀ڥʹؔΘΔมߋ ʹ͸ૉૣ͘௥ै͢Δ΂͠ • ৔߹ʹΑͬͯόάϨϙʔτΛग़ͨ͠ΓϑΥʔϥϜͰฉ͍ͯΈΔ ͷ͕Α͍