Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Swift Weekly 12/13
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Johnlin
December 13, 2016
Programming
120
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Swift Weekly 12/13
Johnlin
December 13, 2016
More Decks by Johnlin
See All by Johnlin
用 MLIR 實作 一個 Ruby IR (intermediate representation)
johnlinvc
0
390
Unearth Ruby builtin Gems 發掘 Ruby 的內建 Gems
johnlinvc
0
490
Ruby 型別檢查工具簡介
johnlinvc
0
700
Swift Actor 實作探索
johnlinvc
0
230
用 mruby 來寫跨平台工具
johnlinvc
0
150
Actor model 簡介
johnlinvc
0
280
一起玩 Helm 3
johnlinvc
1
200
為什麼 App 卡卡的
johnlinvc
2
1.4k
如何使用 byebug 來除錯 Ruby 程式
johnlinvc
0
300
Other Decks in Programming
See All in Programming
なぜCTOを降りてFDEを選んだのか?〜なぜプロダクト企業がFDEで顧客の現場に踏み込むのか〜
gonta
1
200
[ハンズオン]AIへの指示だけで「五目並べ」を作ってみよう
satoshi256kbyte
1
380
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
1
420
全ての永続トークンを、生まれる前に消し去りたい!
sylph01
2
810
Findy - エンジニア向け会社紹介/Findy Company Deck
findyinc
6
400k
Agents on Rails - Rails at Scale 2026
irinanazarova
0
550
Agentic Software Factoryに、すごく賢いIF文を。 / super smart IF statement into the Agentic Software Factory.
rkaga
8
2.2k
KiroのSpecで「五目並べ」を作ってみる
satoshi256kbyte
1
380
RAG の “R” を Swift で覗いてみる 〜「意味から探す」検索の仕組み〜
nao_randd
0
160
AmebaブログはKMPから卒業します
kmars0605
0
170
wkhtmltopdfの次どうするか問題2026
willnet
2
1.9k
外から家のPCの電源入れたい!をPHPで解決する
kawashimo0
1
130
Featured
See All Featured
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
2
2k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
Paper Plane
katiecoart
PRO
5
54k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
We Have a Design System, Now What?
morganepeng
55
8.4k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
The Invisible Side of Design
smashingmag
301
52k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
2
2.2k
How to Think Like a Performance Engineer
csswizardry
28
2.9k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
Transcript
Swift पใ 12/13 John Lin @johnlinvc
From the core • Swift 3.1 ᚙྲྀఔ • ະိ Swift
తԼ૬༰
Swift 3.1 ᚙྲྀఔ • Swift 3.1 ။Լ૬༰ Swift 3.0ɼݱ༗తఔࣜᛰෆ༻ मվ
• رೳࡏ2017 य़ఱᚙɻ
ະိSwift తԼ૬༰ • 3.X ൘ʢแؚ 3.1) ။શ૬༰ 3.0 ൘ɼୠੋ༗Մೳ။ Ճ૬༰త৽ޠ๏ɻ
• Swift 4ฤᩄث။ଟҰݸჩᏐ -swift-version ༻ိඪ ࣔఔࣜᛰత Swift ൛ຊɻ څ 3 बදੋ 3.X ൘ɼڅ 4 बදੋ 4.X ൘ɻ
ະိSwift తԼ૬༰ • 4.X ൘ 3.X ൘త Swift library
ሡՄҎࠞ༻ɻॴҎෆ ༻፦৺૬ґత݅ᔒ༗ঋڃɻ • Swift ݅ཧث။ଟҰݸબ߲ိࢦఆ૬༰త൛ຊɻ
Evolution • [SE-0145] ݅ཧث൛ຊݻఆ • [SE-0146] ݅ཧثՄࣗగ㗞
[SE-0145] ݅ཧث൛ຊݻఆ • ༻݅ཧث҆݅ޙ။ࣗಈ㗞ੜҰݸ Package.pins 䈕Ҋɼཫ໘။แؚॴ༗݅తৄࡉ൛ ຊࢿ㘤(൛ຊɼSHA1)ɻ • ᙛ҆݅࣌ɼ။༏ઌ༻ Package.pins
ိܾఆ൛ ຊɼՌᔒ༗Ṝݸ䈕Ҋ࠽။ Package.swift
[SE-0145] ݅ཧث൛ຊݻఆ • ။ڣ Package.pins ࣕෆڣ Package.lock ੋҼҝ POSIX ༗
lock, Thread ༗ lock • Package.pins త֬֨ࣜؐᔒ༗ܾఆɼመ࡞ऀ ༻ॄኄᒬత֨ࣜɻෆաେ֓ੋJSON
[SE-0145] ݅ཧث൛ຊݻఆ • swift build • Ռ༗ Package.pinsɼबཫ໘తࢦఆ൛ຊɻ • ᔒ༗
Package.pinsɼ༻ Package.swift ိܾఆద ߹త൛ຊɼ࠶ࠣࢿ㘤ࣗಈሜਐ Package.pins
[SE-0145] ݅ཧث൛ຊݻఆ • swift package pin --all #ݻఆݱ༗త൛ຊ • swift
package pin Foo #ݻఆݱ༗తFoo൛ຊ • swift package pin Foo 1.2.3 #ݻఆFoo౸1.2.3൘ • swift package pin Foo 1.2.3 --message “1.2.4 is broken” #ݻఆFoo౸1.2.3൘ɼෟ্ݪҼ
[SE-0145] ݅ཧث൛ຊݻఆ • swift package pin --enable-autopin #⬏Ⴈሱọܥקđswift package
update ޙ။ࣗಈݻ ఆ৽త൛ຊ • swift package pin --disable-autopin #औফࣗಈݻఆɼswift package update ޙෆ။ࣗಈ ݻఆ৽త൛ຊ
[SE-0145] ݅ཧث൛ຊݻఆ • swift package unpin --all #औফॴ༗తݻఆɼՌࣗಈݻఆ։⬏త။㗞ੜࡨ ޡ
• swift package unpin Foo #औফFooతݻఆɼՌࣗಈݻఆ։⬏త။㗞ੜࡨ ޡ
[SE-0146] ݅ཧثՄࣗగ㗞 • ݅ఆٛதআྃݱ༗త Target ֎ؐՄҎఆٛ ProductɼҝLibrary Executable ၷछ
• ՄҎࢦఆ݅தత Product ҝ૬ґੑ
[SE-0146] ݅ཧثՄࣗగ㗞 let package = Package( name: "MyServer", targets:
[ Target(name: "Utils"), Target(name: "HTTP", dependencies: ["Utils"]), Target(name: "ClientAPI", dependencies: ["HTTP", "Utils"]), Target(name: "ServerAPI", dependencies: ["HTTP"]), Target(name: "ServerDaemon", dependencies: ["ServerAPI"]), ], products: [ .Library(name: "ClientLib", type: .static, targets: ["ClientAPI"]), .Library(name: "ServerLib", type: .dynamic, targets: ["ServerAPI"]), .Executable(name: "myserver", targets: ["ServerDaemon"]), ] )
[SE-0146] ݅ཧثՄࣗగ㗞 let package = Package( name: "MyClient", targets:
[ Target(name: "ClientCLI", dependencies: [.product(name:"ClientAPI", package:"MyServer")]), ], products: [ .Executable(name: "myclient-cli", targets: ["ClientCLI"]), ] )
Community • method dispatching in swift https://www.raizlabs.com/dev/2016/12/swift- method-dispatch/