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
140
営業活動なしで継続的に案件を受注する方法 / how to get a contract without sales as a freelance
nerd0geek1
2
940
生体データを取り扱うアプリ開発の勘所
nerd0geek1
1
120
動線改善とステータス可視化で家庭内のストレスを軽減した話
nerd0geek1
3
4.3k
家庭をプロジェクトとして運営した話
nerd0geek1
2
4.3k
fastlaneの勉強会を主催して学んだこと、得たこと、悩んだこと
nerd0geek1
1
1.1k
みんなで育てるprecheck
nerd0geek1
1
760
matchとは?match導入のメリット
nerd0geek1
4
590
Improve your workflow with Sketch plugin
nerd0geek1
3
1.4k
Other Decks in Programming
See All in Programming
Azure SRE Agentで運用は楽になるのか?
kkamegawa
0
2.5k
複雑なドメインに挑む.pdf
yukisakai1225
5
1.2k
アセットのコンパイルについて
ojun9
0
130
OSS開発者という働き方
andpad
5
1.7k
今だからこそ入門する Server-Sent Events (SSE)
nearme_tech
PRO
3
250
Oracle Database Technology Night 92 Database Connection control FAN-AC
oracle4engineer
PRO
1
470
複雑なフォームに立ち向かう Next.js の技術選定
macchiitaka
2
240
ユーザーも開発者も悩ませない TV アプリ開発 ~Compose の内部実装から学ぶフォーカス制御~
taked137
0
190
「待たせ上手」なスケルトンスクリーン、 そのUXの裏側
teamlab
PRO
0
570
MCPとデザインシステムに立脚したデザインと実装の融合
yukukotani
4
1.5k
プロポーザル駆動学習 / Proposal-Driven Learning
mackey0225
2
1.3k
CJK and Unicode From a PHP Committer
youkidearitai
PRO
0
110
Featured
See All Featured
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
810
Side Projects
sachag
455
43k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
Docker and Python
trallard
46
3.6k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.6k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
Speed Design
sergeychernyshev
32
1.1k
What's in a price? How to price your products and services
michaelherold
246
12k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.7k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.6k
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)