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
130
営業活動なしで継続的に案件を受注する方法 / how to get a contract without sales as a freelance
nerd0geek1
2
940
生体データを取り扱うアプリ開発の勘所
nerd0geek1
1
110
動線改善とステータス可視化で家庭内のストレスを軽減した話
nerd0geek1
3
4.3k
家庭をプロジェクトとして運営した話
nerd0geek1
2
4.2k
fastlaneの勉強会を主催して学んだこと、得たこと、悩んだこと
nerd0geek1
1
1.1k
みんなで育てるprecheck
nerd0geek1
1
750
matchとは?match導入のメリット
nerd0geek1
4
590
Improve your workflow with Sketch plugin
nerd0geek1
3
1.4k
Other Decks in Programming
See All in Programming
CEDEC2025 長期運営ゲームをあと10年続けるための0から始める自動テスト ~4000項目を50%自動化し、月1→毎日実行にした3年間~
akatsukigames_tech
0
120
なぜあなたのオブザーバビリティ導入は頓挫するのか
ryota_hnk
5
590
Infer入門
riru
4
1.5k
kiroでゲームを作ってみた
iriikeita
0
160
変化を楽しむエンジニアリング ~ いままでとこれから ~
murajun1978
0
710
GitHub Copilotの全体像と活用のヒント AI駆動開発の最初の一歩
74th
7
2.7k
自作OSでDOOMを動かしてみた
zakki0925224
1
1.3k
AIコーディングエージェント全社導入とセキュリティ対策
hikaruegashira
16
9.8k
Claude Code と OpenAI o3 で メタデータ情報を作る
laket
0
130
The State of Fluid (2025)
s2b
0
140
Android 15以上でPDFのテキスト検索を爆速開発!
tonionagauzzi
0
200
20250808_AIAgent勉強会_ClaudeCodeデータ分析の実運用〜競馬を題材に回収率100%の先を目指すメソッドとは〜
kkakeru
0
160
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
56
5.8k
RailsConf 2023
tenderlove
30
1.2k
Scaling GitHub
holman
462
140k
The Straight Up "How To Draw Better" Workshop
denniskardys
235
140k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.8k
Measuring & Analyzing Core Web Vitals
bluesmoon
8
550
Site-Speed That Sticks
csswizardry
10
770
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
The Invisible Side of Design
smashingmag
301
51k
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)