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移行に備える(Swift2.3/3移行)@yidev
Search
Kohei Tabata
July 02, 2016
Programming
0
1.5k
Xcode8移行に備える(Swift2.3/3移行)@yidev
Kohei Tabata
July 02, 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
970
生体データを取り扱うアプリ開発の勘所
nerd0geek1
1
140
動線改善とステータス可視化で家庭内のストレスを軽減した話
nerd0geek1
3
4.5k
家庭をプロジェクトとして運営した話
nerd0geek1
2
4.3k
fastlaneの勉強会を主催して学んだこと、得たこと、悩んだこと
nerd0geek1
1
1.2k
みんなで育てるprecheck
nerd0geek1
1
810
matchとは?match導入のメリット
nerd0geek1
4
620
Improve your workflow with Sketch plugin
nerd0geek1
3
1.5k
Other Decks in Programming
See All in Programming
最初からAWS CDKで技術検証してもいいんじゃない?
akihisaikeda
4
170
へんな働き方
yusukebe
5
2.8k
[SF Ruby Feb'26] The Silicon Heel
palkan
0
120
20260228_JAWS_Beginner_Kansai
takuyay0ne
5
610
コーディングルールの鮮度を保ちたい / keep-fresh-go-internal-conventions
handlename
0
230
S3ストレージクラスの「見える」「ある」「使える」は全部違う ─ 体験から見た、仕様の深淵を覗く
ya_ma23
0
980
「接続」—パフォーマンスチューニングの最後の一手 〜点と点を結ぶ、その一瞬のために〜
kentaroutakeda
3
1.9k
野球解説AI Agentを開発してみた - 2026/02/27 LayerX社内LT会資料
shinyorke
PRO
0
360
AI時代のシステム設計:ドメインモデルで変更しやすさを守る設計戦略
masuda220
PRO
6
1.1k
Fundamentals of Software Engineering In the Age of AI
therealdanvega
2
290
GC言語のWasm化とComponent Modelサポートの実践と課題 - Scalaの場合
tanishiking
0
120
20260313 - Grafana & Friends Taipei #1 - Kubernetes v1.36 的開發雜記:那些困在 Alpha 加護病房太久的 Metrics
tico88612
0
230
Featured
See All Featured
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
220
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Building Adaptive Systems
keathley
44
3k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
340
Leo the Paperboy
mayatellez
4
1.5k
From π to Pie charts
rasagy
0
160
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
160
How STYLIGHT went responsive
nonsquared
100
6k
A Modern Web Designer's Workflow
chriscoyier
698
190k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.1k
For a Future-Friendly Web
brad_frost
183
10k
Transcript
Xcode8移行に備える (Swift2.3/3移行) 2016/07/02 @yidev
自己紹介 ・Kohei Tabata(@nerd0geek1) ・iOS/Mac/tvOSDeveloper ・Saib Studio LLC ・Fastlane大好き ・最近はBLEと仲良し。 Saib
Studio LLC Kohei Tabata
None
今回、色々発表ありましたね • SiriKit.framework • CallKit.framework • Speech.framework • UserNotifications.framework •
…
僕もいくつかまとめました
・既存プロジェクトに発表された機能を使えるのはまだまだ先。 ・それよりも、今後のアップデートに備えないと ・ATS必須化 ・Swift2.3/3への移行 でも…
・セッション、”What‘s New in Security”で発表 ・2017/01からATS(=HTTPS通信)必須化 ATS必須化
詳しくは、はてな開発者ブログ
Thank you! niwatako
ざっくり言うと ・全ての通信において、HTTPSが要求される。例外は以下の2つ ・AVFoundationを利用したストリーミング再生 ・WKWebViewを利用したWebページの表示 ・それ以外でHTTP通信を行う場合は、それ相応の正当な理由 が要求される(What’s new in Security p.20参照)。
ATS必須化
None
Swift2.3/3への移行について
AppleのSwift Blogを確認
Swift2.3/3のそれぞれの位置づけは? • Swift3: Xcode8がサポートするメイン開発言語。 いくつかの文法やAPIに変更が加えられており、Cocoaのframeworkを呼ぶ際に より自然でSwiftyな形でプログラムを書けるようになっている。 • Swift2.3: Swift2.2で開発しているが、Swift3への移行準備ができていない開発者について、 最新のSDKへの素早い移行を促すためのもの。
Xcode8でのメイン開発言語はSwift3である、と同ブログで言及しており、コンパイ ラやSDK、デバッガーについては、両バージョンをサポートしているが、IDEとして のいくつかの機能はSwift3のみをサポートしている、とのこと。
None
• Swift2.3: 変更を加えることなくビルド成功。 • Swift3: かなり変更を加える必要あり。 また、まだバグがあり、ビルド自体ができないことも。 気になったので試してみた。
• CoreBluetooth関連 CBCentralManagerのstateの型がCBCentralManagerStateからCBManagerStateに。 →iOS10以前でビルドできない! • CoreLocation関連 CLLocationManager.isMonitoringAvailableForClass(_: )が CLLocationManager.isMonitoringAvailable (for
regionClass: )に。 →どちらの記法でもビルドエラー! ビルド失敗事例
• プロジェクトをSwift2.3へ移行 • Swift2.3でエラーを吐くライブラリにはPRを投げる • Swift2.3での動作が担保されたら、Swift3への移行を試す • Xcodeにバグがある場合は、Apple Bug Reporterから報告
• 使用しているライブラリが全てSwift3をサポートした時点で Swift3へ 移行ToDo
ライブラリ化を検討 よく利用する機能のうち、プロダクトのコアでない部分を Cocoa Touch Frameworkとしてライブラリ化し、同じ機能を 集約 & 運用コストを下げる ・ログ機能 :nerd0geek1/Logger
・ストップウォッチ機能:nerd0geek1/PausableTimer ・Extension :nerd0geek1/SwiftExtensions
参考 • What's New in Security (https://developer.apple.com/videos/play/wwdc2016/706/) • What’s New
in Security(PDF) (http://devstreaming.apple.com/videos/wwdc/2016/706sgjvzkvg6rrg9icw/706/706_whats_new_in_securi ty.pdf) • iOS 10のApp Transport Securityと2016年末からのATS必須化についてAppleのエンジニアに聞いてきた (http://developer.hatenastaff.com/entry/2016/06/16/165924)