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.4k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
既存アプリをXcode8対応させた話
Kohei Tabata
September 22, 2016
More Decks by Kohei Tabata
See All by Kohei Tabata
AIと協業する開発の進め方
nerd0geek1
0
180
営業活動なしで継続的に案件を受注する方法 / how to get a contract without sales as a freelance
nerd0geek1
2
1k
生体データを取り扱うアプリ開発の勘所
nerd0geek1
1
150
動線改善とステータス可視化で家庭内のストレスを軽減した話
nerd0geek1
3
4.6k
家庭をプロジェクトとして運営した話
nerd0geek1
2
4.4k
fastlaneの勉強会を主催して学んだこと、得たこと、悩んだこと
nerd0geek1
1
1.3k
みんなで育てるprecheck
nerd0geek1
1
860
matchとは?match導入のメリット
nerd0geek1
4
640
Improve your workflow with Sketch plugin
nerd0geek1
3
1.6k
Other Decks in Programming
See All in Programming
Pythonの実行はどこまで賢くなったのか? CPythonとPyPyから見る最適化のしくみ
curekoshimizu
3
2k
初めての模倣学習とVLA
natsutan
0
260
freeeにおけるEvalsの実践例の紹介
freee
PRO
0
150
片田舎のおっさん、 Swift Buildのダイアモンド問題解決の不具合修正PRを出すが、解決方法がキャッシュをしないようにすることであり、ビルド時間が伸びると言われてマージされないので高速化もする/swiftbuild
yimajo
0
290
わからない話を追いかけたら、プログラミング言語を作る側にいた
ydah
3
550
FastAPI の並行処理モデルを完全に理解する
hoto17296
8
3k
生成AIで帳票OCRが「簡単に」作れる時代になった?
kon_shou
0
1.2k
自動化したのに回らない テスト運用の壁―AI時代の品質責任と生産性
mfunaki
0
510
メールのエイリアス機能を履き違えない
isshinfunada
0
260
AIに既存システムを理解させる技術 ~レガシーを見捨てないハーネスエンジニアリング入門~
ochtum
0
150
【デモ】Kiroで体験する仕様駆動開発|設計からコーディングまでAIと進める開発フロー
cmkudo
0
410
複数の Claude Code が"放置"されてしまう問題をCLI ダッシュボードを自作して解決した話
sumihiro3
1
730
Featured
See All Featured
Joys of Absence: A Defence of Solitary Play
codingconduct
1
450
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
900
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
310
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.3k
Chasing Engaging Ingredients in Design
codingconduct
0
280
The Cost Of JavaScript in 2023
addyosmani
55
10k
How to Think Like a Performance Engineer
csswizardry
28
2.7k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
What does AI have to do with Human Rights?
axbom
PRO
1
2.3k
The browser strikes back
jonoalderson
0
1.5k
So, you think you're a good person
axbom
PRO
2
2.1k
Being A Developer After 40
akosma
91
590k
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)