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
AIと協業する開発の進め方
nerd0geek1
0
160
営業活動なしで継続的に案件を受注する方法 / how to get a contract without sales as a freelance
nerd0geek1
2
960
生体データを取り扱うアプリ開発の勘所
nerd0geek1
1
140
動線改善とステータス可視化で家庭内のストレスを軽減した話
nerd0geek1
3
4.4k
家庭をプロジェクトとして運営した話
nerd0geek1
2
4.3k
fastlaneの勉強会を主催して学んだこと、得たこと、悩んだこと
nerd0geek1
1
1.2k
みんなで育てるprecheck
nerd0geek1
1
800
matchとは?match導入のメリット
nerd0geek1
4
610
Improve your workflow with Sketch plugin
nerd0geek1
3
1.5k
Other Decks in Programming
See All in Programming
izumin5210のプロポーザルのネタ探し #tskaigi_msup
izumin5210
1
140
AIエージェントのキホンから学ぶ「エージェンティックコーディング」実践入門
masahiro_nishimi
6
650
責任感のあるCloudWatchアラームを設計しよう
akihisaikeda
3
180
ぼくの開発環境2026
yuzneri
0
240
CSC307 Lecture 04
javiergs
PRO
0
660
humanlayerのブログから学ぶ、良いCLAUDE.mdの書き方
tsukamoto1783
0
200
AIによるイベントストーミング図からのコード生成 / AI-powered code generation from Event Storming diagrams
nrslib
2
1.9k
AIと一緒にレガシーに向き合ってみた
nyafunta9858
0
250
15年続くIoTサービスのSREエンジニアが挑む分散トレーシング導入
melonps
2
230
AI Agent の開発と運用を支える Durable Execution #AgentsInProd
izumin5210
7
2.3k
HTTPプロトコル正しく理解していますか? 〜かわいい猫と共に学ぼう。ฅ^•ω•^ฅ ニャ〜
hekuchan
2
690
Vibe Coding - AI 驅動的軟體開發
mickyp100
0
180
Featured
See All Featured
WENDY [Excerpt]
tessaabrams
9
36k
Building the Perfect Custom Keyboard
takai
2
690
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
Automating Front-end Workflow
addyosmani
1371
200k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
120
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.4k
Being A Developer After 40
akosma
91
590k
We Are The Robots
honzajavorek
0
170
Faster Mobile Websites
deanohume
310
31k
New Earth Scene 8
popppiees
1
1.5k
Navigating Weather and Climate Data
rabernat
0
110
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)