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
Build an iOS app from an iPad
Search
Adrien Humilière
June 30, 2022
Programming
0
62
Build an iOS app from an iPad
Presented at CocoaHeads Paris in June 2022
Adrien Humilière
June 30, 2022
Tweet
Share
More Decks by Adrien Humilière
See All by Adrien Humilière
Attention to details
adhumi
0
8
Something about Xcode ^^
adhumi
0
140
Inside Brut.
adhumi
0
120
Localization done bien
adhumi
1
270
Test and distribute an iOS app with Gitlab CI
adhumi
0
390
Pushing Forward iOS Notifications
adhumi
0
210
Good practices for iOS releases
adhumi
0
230
What's new in iOS 9
adhumi
0
350
Rebranding an iOS app
adhumi
0
270
Other Decks in Programming
See All in Programming
AI Agent Tool のためのバックエンドアーキテクチャを考える #encraft
izumin5210
5
1.5k
GoLab2025 Recap
kuro_kurorrr
0
790
Navigation 3: 적응형 UI를 위한 앱 탐색
fornewid
1
510
令和最新版Android Studioで化石デバイス向けアプリを作る
arkw
0
470
ゲームの物理 剛体編
fadis
0
390
ゆくKotlin くるRust
exoego
1
180
リリース時」テストから「デイリー実行」へ!開発マネージャが取り組んだ、レガシー自動テストのモダン化戦略
goataka
0
150
re:Invent 2025 トレンドからみる製品開発への AI Agent 活用
yoskoh
0
560
從冷知識到漏洞,你不懂的 Web,駭客懂 - Huli @ WebConf Taiwan 2025
aszx87410
2
3.2k
ローカルLLMを⽤いてコード補完を⾏う VSCode拡張機能を作ってみた
nearme_tech
PRO
0
220
Navigating Dependency Injection with Metro
l2hyunwoo
1
200
Tinkerbellから学ぶ、Podで DHCPをリッスンする手法
tomokon
0
150
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.5k
The Curious Case for Waylosing
cassininazir
0
200
Test your architecture with Archunit
thirion
1
2.1k
A better future with KSS
kneath
240
18k
Design in an AI World
tapps
0
100
Java REST API Framework Comparison - PWX 2021
mraible
34
9.1k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
330
Six Lessons from altMBA
skipperchong
29
4.1k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
70k
Designing for Timeless Needs
cassininazir
0
110
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
180
[RailsConf 2023] Rails as a piece of cake
palkan
58
6.2k
Transcript
None
None
None
None
None
None
Swift Playgrounds 4.0
None
None
Faire une app depuis un iPad
Adrien Humilière @adhumi Engineering Manager @ Dashlane
None
None
None
None
None
None
None
xcodeproj
App.swiftpm
App.swiftpm → Package.swift
// swift-tools-version: 5.6 // WARNING: // This file is automatically
generated. // Do not edit it by hand because the contents will be replaced. import PackageDescription import AppleProductTypes let package = Package( name: "Chapelle", platforms: [ .iOS("15.2") ], ... dependencies: [ .package(url: "https://github.com/scinfu/SwiftSoup.git", "2.3.4"..<"3.0.0") ], targets: [ .executableTarget( name: "AppModule", dependencies: [ .product(name: "SwiftSoup", package: "SwiftSoup") ], path: ".", resources: [ .process("Resources") ] ) ] )
// swift-tools-version: 5.6 // WARNING: // This file is automatically
generated. // Do not edit it by hand because the contents will be replaced. import PackageDescription import AppleProductTypes let package = Package( name: "Chapelle", platforms: [ .iOS("15.2") ], ... dependencies: [ .package(url: "https://github.com/scinfu/SwiftSoup.git", "2.3.4"..<"3.0.0") ], targets: [ .executableTarget( name: "AppModule", dependencies: [ .product(name: "SwiftSoup", package: "SwiftSoup") ], path: ".", resources: [ .process("Resources") ] ) ] )
// swift-tools-version: 5.6 // WARNING: // This file is automatically
generated. // Do not edit it by hand because the contents will be replaced. import PackageDescription import AppleProductTypes let package = Package( name: "Chapelle", platforms: [ .iOS("15.2") ], ... dependencies: [ .package(url: "https://github.com/scinfu/SwiftSoup.git", "2.3.4"..<"3.0.0") ], targets: [ .executableTarget( name: "AppModule", dependencies: [ .product(name: "SwiftSoup", package: "SwiftSoup") ], path: ".", resources: [ .process("Resources") ] ) ] )
products: [ .iOSApplication( name: "Chapelle", targets: ["AppModule"], bundleIdentifier: "fr.adhumi.chapelledesbois", teamIdentifier:
"E873B24XVN", displayVersion: "4", bundleVersion: "15", appIcon: .asset("AppIcon"), accentColor: .asset("AccentColor"), supportedDeviceFamilies: [ .pad, .phone ], supportedInterfaceOrientations: [ .portrait, .landscapeRight, .landscapeLeft, .portraitUpsideDown(.when(deviceFamilies: [.pad])) ], capabilities: [ .outgoingNetworkConnections() ], appCategory: .travel ) ],
products: [ .iOSApplication( name: "Chapelle", targets: ["AppModule"], bundleIdentifier: "fr.adhumi.chapelledesbois", teamIdentifier:
"E873B24XVN", displayVersion: "4", bundleVersion: "15", appIcon: .asset("AppIcon"), accentColor: .asset("AccentColor"), supportedDeviceFamilies: [ .pad, .phone ], supportedInterfaceOrientations: [ .portrait, .landscapeRight, .landscapeLeft, .portraitUpsideDown(.when(deviceFamilies: [.pad])) ], capabilities: [ .outgoingNetworkConnections() ], appCategory: .travel ) ],
products: [ .iOSApplication( name: "Chapelle", targets: ["AppModule"], bundleIdentifier: "fr.adhumi.chapelledesbois", teamIdentifier:
"E873B24XVN", displayVersion: "4", bundleVersion: "15", appIcon: .asset("AppIcon"), accentColor: .asset("AccentColor"), supportedDeviceFamilies: [ .pad, .phone ], supportedInterfaceOrientations: [ .portrait, .landscapeRight, .landscapeLeft, .portraitUpsideDown(.when(deviceFamilies: [.pad])) ], capabilities: [ .outgoingNetworkConnections() ], appCategory: .travel ) ],
products: [ .iOSApplication( name: "Chapelle", targets: ["AppModule"], bundleIdentifier: "fr.adhumi.chapelledesbois", teamIdentifier:
"E873B24XVN", displayVersion: "4", bundleVersion: "15", appIcon: .asset("AppIcon"), accentColor: .asset("AccentColor"), supportedDeviceFamilies: [ .pad, .phone ], supportedInterfaceOrientations: [ .portrait, .landscapeRight, .landscapeLeft, .portraitUpsideDown(.when(deviceFamilies: [.pad])) ], capabilities: [ .outgoingNetworkConnections() ], appCategory: .travel ) ],
None
None
None
None
• Développement simple et rapide
• Développement simple et rapide • Autocomplétion efficace
• Développement simple et rapide • Autocomplétion efficace • Idéal
pour des devs débutants/amateurs
• Développement simple et rapide • Autocomplétion efficace • Idéal
pour des devs débutants/amateurs • iPad
None
• Peu de réglages
• Peu de réglages • Pas d’extensions
• Peu de réglages • Pas d’extensions • Peu de
détails sur les erreurs de build
• Peu de réglages • Pas d’extensions • Peu de
détails sur les erreurs de build • Source control
• Peu de réglages • Pas d’extensions • Peu de
détails sur les erreurs de build • Source control • Xcode Cloud !?
• Peu de réglages • Pas d’extensions • Peu de
détails sur les erreurs de build • Source control • Xcode Cloud !? • iPad
Qu’est ce que ça dit du futur du développement iOS
?
Merci de votre attention !
None