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
Introduction to Swiftlane
Search
Khoa Pham
February 18, 2022
Programming
210
0
Share
Introduction to Swiftlane
Introduction to Swiftlane
https://github.com/onmyway133/Swiftlane
Khoa Pham
February 18, 2022
More Decks by Khoa Pham
See All by Khoa Pham
Better AppStore rating
onmyway133
0
640
Pragmatic Machine Learning for mobile apps
onmyway133
0
480
Unit Testing in iOS
onmyway133
0
590
Getting started with Flutter
onmyway133
2
700
From Xcode plugin to Xcode extension
onmyway133
0
470
Collection Update
onmyway133
4
470
A Taste of MVVM + RxSwift
onmyway133
1
650
LLDB
onmyway133
0
470
Block
onmyway133
0
630
Other Decks in Programming
See All in Programming
AIを導入する前にやるべきこと
negima
2
320
UIの境界線をデザインする | React Tokyo #15 メイントーク
sasagar
2
410
🦞OpenClaw works with AWS
licux
1
320
Structured Concurrency, Scoped Values and Joiners in the JDK 25 26 27
josepaumard
1
130
Surviving Black Friday: 329 billion requests with Falcon!
ioquatix
0
2.5k
tRPCの概要と少しだけパフォーマンス
misoton665
2
250
Back to the roots of date
jinroq
0
620
【26新卒研修】OpenAPI/Swagger REST API研修
dip_tech
PRO
0
120
Cache-moi si tu peux : patterns et pièges du cache en production - Devoxx France 2026 - Conférence
slecache
0
330
10 Tips of AWS ~Gen AI on AWS~
licux
5
520
YJITとZJITにはイカなる違いがあるのか?
nakiym
0
430
ソフトウェア設計の結合バランス #phperkaigi
kajitack
0
170
Featured
See All Featured
The agentic SEO stack - context over prompts
schlessera
0
770
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
For a Future-Friendly Web
brad_frost
183
10k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
160
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
360
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
160
Typedesign – Prime Four
hannesfritz
42
3k
Documentation Writing (for coders)
carmenintech
77
5.3k
How Software Deployment tools have changed in the past 20 years
geshan
0
33k
Transcript
Introduction to Swiftlane Khoa Pham @onmyway133 onmyway133.com
nomad https://github.com/nomad cuptertino: App Dev Center shenzhen: Building ipa houston:
push notification venice: IAP dubao: passbook nashville: iTunes Connect
fastlane https://fastlane.tools/ sigh: provisiong profiles produce: create apps boarding: beta
testers scan: run tests gym: build deliver: screenshots & metadata spaceship: AppStore Connect APIs
No small feat ! ENV, SharedValues, ensureenvvars ! Remember how
! Dependencies ! Ruby stack ! Swift ! Type safe ! Swift Package Manager
Puma https://github.com/pumaswift/puma ☑ Combine + SwiftUI + resultBuilder ☑ Swift
Package Manager ♥ Gabriel, Besar, Frederik
Puma Workflow { RunScript() .content("echo hello") Build() .project("MyApp") .scheme("Production") Slack()
.token(SLACK_TOKEN) .send(message: ...) }
Swiftlane https://github.com/onmyway133/Swiftlane ! async/await ! Agrs ! AppStore Connect
Args -key=value -key value --key=value --key value -key1 value1 -key1
value2 order matters
async/await let result1 = try await action1.run() let result2 =
try await.action2.run(result1)
Swiftlane var workflow = Workflow() workflow.directory = Settings.fs .homeDirectory() .appendingPathComponent("Projects/swiftlane/Examples/MyApp")
workflow.xcodeApp = URL(string: "/Applications/Xcode.app")
Swiftlane guard let issuerId = Settings.env["ASC_ISSUER_ID"], let privateKeyId = Settings.env["ASC_PRIVATE_KEY_ID"],
let privateKey = Settings.env["ASC_PRIVATE_KEY"] else { return } let asc = try ASC( credential: AppStoreConnect.Credential( issuerId: issuerId, privateKeyId: privateKeyId, privateKey: privateKey ) )
AppStore Connect https://github.com/onmyway133/AppStoreConnect ! OpenAPI specification ! Json Web Token
How to run Swiftlane import Swiftlane —Executable Swift Package —MacOS
Command Line Tool application