Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
既存アプリをXcode8対応させた話
Search
Kohei Tabata
September 22, 2016
Programming
1
1.4k
既存アプリをXcode8対応させた話
Kohei Tabata
September 22, 2016
Tweet
Share
More Decks by Kohei Tabata
See All by Kohei Tabata
営業活動なしで継続的に案件を受注する方法 / how to get a contract without sales as a freelance
nerd0geek1
2
890
生体データを取り扱うアプリ開発の勘所
nerd0geek1
1
87
動線改善とステータス可視化で家庭内のストレスを軽減した話
nerd0geek1
3
4.1k
家庭をプロジェクトとして運営した話
nerd0geek1
2
4.1k
fastlaneの勉強会を主催して学んだこと、得たこと、悩んだこと
nerd0geek1
1
1k
みんなで育てるprecheck
nerd0geek1
1
690
matchとは?match導入のメリット
nerd0geek1
4
550
Improve your workflow with Sketch plugin
nerd0geek1
3
1.3k
Looking back try! Swift 2017
nerd0geek1
0
570
Other Decks in Programming
See All in Programming
fs2-io を試してたらバグを見つけて直した話
chencmd
0
240
Androidアプリのモジュール分割における:x:commonを考える
okuzawats
1
140
20年もののレガシープロダクトに 0からPHPStanを入れるまで / phpcon2024
hirobe1999
0
500
ブラウザ単体でmp4書き出すまで - muddy-web - 2024-12
yue4u
3
480
PHPUnitしか使ってこなかった 一般PHPerがPestに乗り換えた実録
mashirou1234
0
230
どうして手を動かすよりもチーム内のコードレビューを優先するべきなのか
okashoi
3
190
これでLambdaが不要に?!Step FunctionsのJSONata対応について
iwatatomoya
2
3.7k
return文におけるstd::moveについて
onihusube
1
1.2k
Jakarta EE meets AI
ivargrimstad
0
260
[JAWS-UG横浜 #76] イケてるアップデートを宇宙いち早く紹介するよ!
maroon1st
0
480
Effective Signals in Angular 19+: Rules and Helpers @ngbe2024
manfredsteyer
PRO
0
140
なまけものオバケたち -PHP 8.4 に入った新機能の紹介-
tanakahisateru
1
120
Featured
See All Featured
Adopting Sorbet at Scale
ufuk
73
9.1k
The World Runs on Bad Software
bkeepers
PRO
65
11k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
How STYLIGHT went responsive
nonsquared
95
5.2k
For a Future-Friendly Web
brad_frost
175
9.4k
Optimizing for Happiness
mojombo
376
70k
Scaling GitHub
holman
458
140k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
2
290
Raft: Consensus for Rubyists
vanstee
137
6.7k
Gamification - CAS2011
davidbonilla
80
5.1k
Building an army of robots
kneath
302
44k
Navigating Team Friction
lara
183
15k
Transcript
طଘΞϓϦΛXcode8 ରԠͤͨ͞ 2016/09/22 SwiftѪձ@G's ACADEMY
ࣗݾհ ɾKohei Tabata(@nerd0geek1) ɾSaib Studio LLC ɾiOS/MacOS/tvOS Developer ɾFastlaneେ͖ ɾSwiftѪձେ͖
Said Studio LLC Kohei Tabata Next! Remote quick-zip plus Sleeple
http://next.saib-stud.io
Xcode8ग़·ͨ͠Ͷ
ରԠऴΘΓ·ͨ͠ʁ
Xcode8ରԠͯ͠ΈͨͷͰ ݟΛڞ༗͠·͢ɻ
ࡐ ɾNext! Remote(iOSΞϓϦ)ɺNext! for Mac(MacΞϓϦ) ɾCocoaPodsɺCarthageΛར༻ͨ͠ϑϧSwiftΞϓϦ ɾ51ϑΝΠϧɺ2400ߦ(Next! RemoteɺclocͰܭଌ) ɾ21ϑΝΠϧɺ1200ߦ(Next! for
MacɺclocͰܭଌ) ͱ͍ͬͨൺֱతখنͳΞϓϦ
࣍ ɾSwift3ͷҠߦʹઓ ɾSwift2.3ͷҠߦʹઓ ɾͦͷଞ
Swift3ͷҠߦʹઓ
μϝͰͨ͠ ɾSwift3Ҡߦ͢ΔͨΊʹɺϥΠϒϥϦ͕શͯSwift3Ҡߦ͍ͯ͠Δ ɹඞཁ͋Γ ɾར༻͍ͯ͠ΔେखOSSͷ͏ͪɺQuick, NimbleରԠࡁɻ ɹSnapKit͕ະରԠɻ ɾcarthage update —platform iOSͰίέͯ͠·͏ɻ
ɾͱ͍͏Θ͚Ͱૣʑʹఫୀɻ
Swift2.3ͷҠߦʹઓ
େ͖ͳࠔͳྃ͘ ɾCoreBluetooth.frameworkͰͪΐͬͱͭ·ͮ͘ ɹiOS9 ɿCBCentralManagerState ɹiOS10ɿCBManagerState ɹˢޓੑͳ͠ ɾͦΕҎ֎ɺ override func touchesCancelled(touches:
Set<UITouch>?, withEvent event: UIEvent?) ͱ override func touchesCancelled(touches: Set<UITouch>, withEvent event: UIEvent?) ͘Β͍
ऴΘΓͩͱࢥͬͨʁ
None
ࣗݾհ ɾKohei Tabata(@nerd0geek1) ɾSaib Studio LLC ɾiOS/MacOS/tvOS Developer ɾFastlaneେ͖ ɾAKIBA.swiftେ͖
Said Studio LLC Kohei Tabata Next! Remote quick-zip plus Sleeple
͓͔Γ͚ͨͩΖ͏͔…
None
Ͳ͏͍͔ͬͯͨʁ CircleCI্Ͱ ɾcocoapods/carthage ActionͰϥΠϒϥϦΛηοτΞοϓͯ͠ ɾscanͰςετ ɾsighͰ࠷৽ͷProvisioning Profileμϯϩʔυͯ͠ ɾgymͰipaϑΝΠϧΛ࡞ ɾcrashlytics/pilotͰcrashlytics/iTunes ConnectΞοϓϩʔυ
Xcode8ʹ͢Δͱ CircleCI্Ͱ ɾcocoapods/carthage ActionͰϥΠϒϥϦΛηοτΞοϓͯ͠ ɾscanͰςετ ɾsighͰ࠷৽ͷProvisioning Profileμϯϩʔυͯ͠ ɾgymͰipaϑΝΠϧΛ࡞ ɾcrashlytics/pilotͰcrashlytics/iTunes ConnectΞοϓϩʔυ
Xcode8ʹ͢Δͱ CircleCI্Ͱ ɾcocoapods/carthage ActionͰϥΠϒϥϦΛηοτΞοϓͯ͠ ɾscanͰςετ ɾsighͰ࠷৽ͷProvisioning Profileμϯϩʔυͯ͠ ɾgymͰipaϑΝΠϧΛ࡞ ɾcrashlytics/pilotͰcrashlytics/iTunes ConnectΞοϓϩʔυ
Xcode8ʹ͢Δͱ CircleCI্Ͱ ɾcocoapods/carthage ActionͰϥΠϒϥϦΛηοτΞοϓͯ͠ ɾscanͰςετ ɾsighͰ࠷৽ͷProvisioning Profileμϯϩʔυͯ͠ ɾgymͰipaϑΝΠϧΛ࡞ ɾcrashlytics/pilotͰcrashlytics/iTunes ConnectΞοϓϩʔυ
Xcode8ʹ͢Δͱ CircleCI্Ͱ ɾcocoapods/carthage ActionͰϥΠϒϥϦΛηοτΞοϓͯ͠ ɾscanͰςετ ɾsighͰ࠷৽ͷProvisioning Profileμϯϩʔυͯ͠ ɾgymͰipaϑΝΠϧΛ࡞ ɾcrashlytics/pilotͰcrashlytics/iTunes ConnectΞοϓϩʔυ
΄΅ࢮʘ(^o^)ʗśƂŦ
Carthage͑ͳ͍ ɾXcode8ͰɺToolchainsʹSwift2.3༻ͱSwift3༻ͷͷ͕ ɹؚ·Ε͍ͯΔ ɹ$ ls /Applications/Xcode.app/Contents/Developer/Toolchains/ ɹSwift_2.3.xctoolchain XcodeDefault.xctoolchain ɾσϑΥϧτSwift3ͷToolchain ɾexport
TOOLCHAINS=com.apple.dt.toolchain.Swift_2_3 ɹͰSwift2.3Λར༻͢ΔΑ͏ʹઃఆ
scanίέΔ ɾXcode7·ͰdestinationͰࢦఆ͍ͯͨ͠(OSɺ)ͰςετΛ ɹ࣮ߦ͢ΔΑ͏ʹͳ͍͕ͬͯͨɺXcode8͔Βແࢹ͞ΕΔΑ͏ʹɻ ɾ·ͨɺCircleCI্Ͱderived_data_path͕௨ৗͷ ɹ~/Library/Developer/Xcode/DerivedData/Ͱͳ͘ɺ”/”ͱͳΓɺ ɹpermissionͷͰςετ͕ίέΔΑ͏ʹɻ ɹˠదͳΛSCAN_DERIVED_DATA_PATHʹઃఆͯ͠ରԠ
gymίέΔ ɾࠓ·Ͱbundle install -j4 --path=vendor/bundleͰΠϯετʔϧ͠ɺ ɹbundle exec fast lane …Ͱ࣮ߦ͍ͯ͠Εͳ͔͕ͬͨɺ࠷৽൛
ɹ(1.102.0 or 1.103.0)ͰҰ෦ɺγεςϜඪ४rubyͷgem͕ࢀর͞ΕΔ ɹΑ͏ʹɻɻɻ(͓ͦΒ͘όά) ɹ ɾͦͷͨΊɺCircleCI্Ͱsudo gem install fastlaneͱͯ͠ରԠɻ ɹॺ໊ɺXcode8͔ΒͷࣗಈબͰ͏·͘ಈ͔ͳ͔ͬͨͨΊݸผʹઃఆ ɾଞʹੜ͞ΕΔipa/dSYMϑΝΠϧͷϕʔεωʔϜ͕มߋʹɻ ɹNext! Remote.ipa→App.ipa
pilotίέΔ ɾͲͪΒ͔ͱݴ͑ɺfastlaneΑΓiTunes Connectͷมߋɻ ɾpush௨ʹ͍ͭͯɺentitlements͕ͳͯ͘௨͍ͬͯͨͷ͕ ɹඞਢʹɻ ɾBluetoothΛ༻͍ͯͨͨ͠Ίɺ ɹNSBluetoothPeripheralUsageDescriptionΛInfo.plistʹؚΊΔ ɹ͜ͱ͕ඞਢʹɻ
·ͱΊ ɾXcode8 x Swift2.3ͦΜͳʹେม͡Όͳ͍ ɾXcode8 x Swift3.xΤίγεςϜͷߋ৽ͪɻ ɾXcodeपลͷࣗಈԽؔɺ·ͩͪΐͬͱෆ҆ఆ ɹཕ͋Β͔ͨ౿Έൈ͍ͨʂ(ന
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ
ࢀߟ ɾίϚϯυϥΠϯπʔϧͰ͋ΒΏΔݴޠ͕ΘΕ͍ͯͯߦΛଌఆ͢Δ ɹ(http://qiita.com/GeneralD/items/c4351f42d0a441373033) ɾfastlane/fastlane ɹ(https://github.com/fastlane/fastlane) ɾBuilding dependencies with Swift 2.3
rather than Swift 3 when using Xcode 8 Beta ɹ(https://github.com/Carthage/Carthage/issues/1351#issuecomment-226637835)