Introductie iOS door Jens Goeman
Jens GoemaniOS CONSULTANT[email protected]iOS Introductie
View Slide
Count all the emoij in the presentation and win no prize! Presentation Game
• Installed base 900 miljoen• 12 versies iOS• 17 verschillende toestellen• 180+ biljoen downloads van de AppStore10 years of iPhone.
Ontwikkelen voor iOS
• Apple ID / Developer Account• Xcode• Simulator• Swift of Objective-C• Code SigningOntwikkelen voor iOS
• Besturing systeem• iPhone en iPad• Andere:• tvOS• watchOS• macOSiOS?
• 99$ per jaar• Beta downloads• App Store releases• Externe testers• SoftwareApple Developer Program
• IDE• Interface designer• Simulator• CrashlogsXcode
• Controle• Wie ben jij• Welke app• Wie mag installeren• Welke distributieCode signing
Code signingApp IDDevelopment AD-HOC AppStore EnterpriseDevelopment AD-HOC AppStore Enterprise+ +
Objective-C
• …• Rare syntax• Dynamic language• Bewezen• Nog veel legacy• Superset van CObjective-C#pragma markid @interface(nonatomic, strong)[self.contentView addSubview:self.swipeView];NSString *filePath = @“%@/Image%@.pdf”;#import UIButton *shareButton;
Swift
• “nieuw” ✨• Snel• Veiliger• Meer leesbaar• Open sourceSwiftlet label = UILabel()class PillView {}self.stackview.axis = .horizontalfunc viewDidLoad() {}let channel = "IPA"super.viewDidLoad()
Let’s get swifty
TypeBool Int Double FloatString Array Dictionary Set
Declaring Variables
Range operators
Tuple
String
Collection Types
Array
Set
Dictionary
If Control flow
Switch Control flow
For-In Control flow
Functions
Closures
Enums
Structs and Classes
I know this, let’s go already!
• Memory management (ARC) • Async• Online / Offline• Provisioning• Auto-layout• Swift versie• App Store ReviewTypische uitdagingen
356789:☃
Architectuur - MVC
• Gebruik van externe libs• cocoapods• Carthage• Swift package managerDependency Management
Common DependenciesDependency UseSwinject Dependency InjectionAlamofire NetworkingQuick, Nimble TestingRXSwift Reactive Programing
A day in the life of. . .
• AppFoundry < Xplore group < Cronos group• Consultant• Klant• Intern• Technologie• iOS / Android / React / React-Native / Nodejs• Conferenties• Team eventsAppFoundry
1. Ontwikkelen2. Testen3. Samen werken met QA4. Repeat5. Release voor bereiden1. Build2. iTunesDay 0
Day 1-5Chill, and wait for Apple
Day 2-61. Apple approved2. Dubble check met business3. Release (phased roll-out)4. Checking logs
Questions
Jens GoemaniOS CONSULTANTE: [email protected]Contact DetailsAppFoundryMERELBEKE - KONTICH - HASSELTW: www.appfoundry.beM: +32 (0)3 871 99 66E: [email protected]
Emoij Count
Emoij Count38