Snel navigeren naar:

  • Inhoud
  • Voordelen
  • Specificaties
  • Reviews
  • More information
  • FAQ

Productinformatie

In deze iOS training/cursus doet u de kennis en vaardigheden op om veilige betrouwbare code te schijven die gebruikt wordt om iOS applicaties te ontwikkelen. Zo leert u bijvoorbeeld meer over de beschikbare invoerapplicaties, testing, error handling, uitzonderingen, netwerk interactie en hoe u data in iOS Apps kunt beveiligen.

Onderwerpen die onder andere aan bod komen zijn Objective-C, Swift, UIWebView, TCP, CF functions, NSURLConnection, XCTestCase, MD5, SHA, RNCryptor bibliotheek en nog veel meer.

Inhoud van de training

Defensive Programming in iOS

12 uur

Thinking Defensively about Functions, Methods, and Input

  • start the course
  • create code that handles file inputs to an iOS app
  • create code that handles url scheme inputs to an iOS app
  • validate user-provided input using Objective-C
  • use a real-time approach to validating user-provided input in Objective-C
  • use secure coding principles to guard against format string attacks
  • restrict free navigation around the Web based on user input in a UIWebView
  • use best practices to name functions and methods in Objective-C
  • use best practices to name accessor methods in Objective-C
  • use best practices to name delegate methods in Objective-C
  • reduce method complexity in iOS apps using Objective-C
  • overload a function to reduce code complexity in Swift
  • design functions that have a single and defined focus
  • identify and use different class naming standards in Objective-C
  • create and use constants in Objective-C
  • create and use constants in Swift
  • create and use resource files in an iOS app
  • easily store and retrieve data from the defaults database
  • recognize how using brackets can protect against potential bugs
  • design while loops that are not vulnerable to running forever
  • design for loops that are not vulnerable to running forever
  • identify and avoid bugs caused by altered loop variables
  • handle various types of inputs to an iOS app

Managing Network Interaction

  • start the course
  • create a TCP client connection from an iOS app
  • send and receive data over a TCP connection in an iOS app
  • determine when an iOS app can and cannot access the Internet
  • determine when an iOS app can and cannot reach a specific IP address
  • determine when an iOS app can and cannot access the Internet
  • install and configure the network link conditioner to be able to test iOS apps in different connection conditions
  • use CF functions to encode URLs
  • use CF functions to decode URLs
  • use NSURLConnection to make synchronous and asynchronous network calls
  • use NSURLConnection to make asynchronous network calls without using custom delegates
  • create and apply a configuration object to an NSURLSession instance
  • request a URL in a simple manner using NSURLSession and system delegates
  • request a URL in a flexible manner using NSURLSession and custom delegates
  • stop script execution in any HTML loaded into a WebView
  • disallow Internet traffic over cellular connections in an iOS app
  • capture and handle redirect responses from a server
  • use NSURLSession to reliably download and save files in an iOS app
  • use NSURLSession to handle users stopping and starting download operations
  • use NSURLSession to handle downloads that fail
  • use NSURLSession to upload files to a web server
  • use common techniques for managing network interaction

Errors, Exceptions, and Testing

  • start the course
  • use error information returned indirectly from methods
  • test for specific kinds of errors based on domains and codes
  • create and return error objects from custom methods
  • use alert views to inform end users of error information
  • use an underlying error object to find out more detail about an error that has occurred
  • create and throw/raise exceptions in iOS apps
  • catch and handle exceptions in iOS apps
  • use the @finally directive to guarantee code execution
  • convert a raised exception to an error when appropriate
  • capture and handle specific types of exceptions locally
  • create an XCTestCase Class using Xcode and Objective-C
  • create an XCTestCase Class using Xcode and Swift
  • create, execute, and check results of unit tests using Xcode and Objective-C
  • creating and executing unit tests in Swift
  • unit test private methods in custom classes
  • how to create tests that measure execution time of code
  • create and execute asynchronous tests
  • recognize how to initiate the creation of an automated test of an iOS app
  • access interface elements by navigating the element hierarchy
  • use accessibility labels to interact with iOS app elements when automation testing
  • select and tap interface elements in automation testing
  • define pass and fail benchmarks for automation testing
  • use the logElementTree method to understand an app's view hierarchy
  • import previously created automation scripts for reuse
  • create assertions using NSAssert
  • create assertions using the assert function
  • create assertions in Swift
  • work with creating and managing errors and exceptions

Protecting Data in iOS Apps

  • start the course
  • obscure sensitive data from plain sight in an iOS app interface
  • use alert view styles to collect sensitive user data
  • obscure sensitive data when using alert controllers
  • use Touch ID authentication in iOS apps on supported devices
  • recognize how to write text data to files while reducing the risk of data corruption
  • recognize how to write binary data to files while reducing the risk of data corruption
  • use built-in hardware encryption to store text files securely on disk
  • use built-in hardware encryption to store binary files securely on disk
  • register for notifications and delegate methods that indicate when protected files change status
  • create and access protected files while an iOS device is in the background
  • securely store sensitive data using the iOS keychain
  • search and retrieve sensitive data from the iOS keychain
  • update sensitive data stored in the iOS keychain
  • remove sensitive data stored in the iOS keychain
  • define when keychain items are accessible depending on the lock status of an iOS device
  • use the Randomization Services API to generate random numbers
  • create an MD5 hash using the Common Crypto library
  • create an SHA hash using the Common Crypto library
  • use the RNCryptor library to encrypt and decrypt data in an iOS app
  • use the Certificate, Key, and Trust functions to generate an asymmetric key pair
  • use the public key of an asymmetric key pair to encrypt data
  • use the private key of an asymmetric key pair to decrypt data
  • create and manage iOS keychain items

Kenmerken

Engels (US)
12 uur
Software Developer
90 dagen online toegang
HBO

Meer informatie

Extra product informatie 0
Doelgroep Softwareontwikkelaar
Voorkennis

U bent bekend met het programmeren van iOS applicaties.

resultaat

Na het volgen van deze training bent u bekend met defensief programmeren voor iOS applicaties.

Positieve reacties van cursisten

Ontwikkel je tot data analist

Service is echt heel goed. Snel, klantvriendelijk, weten waar ze over praten en denken met je mee met oplossingen. Daarnaast hebben ze ook een goed leerplatform om je studie te volgen en na elke module een korte toets om te zien hoeveel je ervan heb begrepen en je kan de status zien hoeveel tijd je hebt besteed aan je studie. Ik waardeer ze enorm en ik raad elke ICT'er aan om met hen in zee te gaan om je studie te volgen.

- Emilio Jones

Training: Introduction to SQL

Eén training geprobeerd en deze naar tevredenheid gevolgd. Een module werkte in eerste instantie niet, maar na contact opgenomen te hebben met klantenservice kreeg ik snel antwoord met een oplossing.

- Lars van der Spek

Training: Certified Ethical Hacker (CEHv12) - incl. examen

Eerste keer dat ik een online training heb gedaan en zou zo weer een training volgen via icttraningen.nl

- Jerry Jialal

Training: Microsoft Managing Modern Desktops (exam MD-101)

Het resultaat van de groep is absoluut bevredigend. Ik ga in ieder geval geen ander meer bellen.

- Antoine Evertze, Sales Engineer bij Chubb

Training: PRINCE2® 6e editie Foundation- incl. examen

Als er wat is staan ze altijd voor me klaar. Ik word meteen geholpen als ik bel.

- E. Zeijlmans, P&O adviseur bij Parnassia Groep

Training: ITIL® 4 Foundation - incl. examen

Wij zijn gebaat bij mensen die bijblijven in hun vakgebied en continu getriggerd worden.

- W. van Uijthoven, IT manager bij gemeente Arnhem

Training: Excel 2013 Compleet

Ik heb al eens eerder een training gehad via icttrainingen.nl en dat was een erg leerzame, leuke ervaring. Nu heb ik via het werk een online cursus en deze lijkt tot nu toe ook erg leerzaam.

- Michelle Brierley

Hoe gaat het te werk?

1

Training bestellen

Nadat je de training hebt besteld krijg je bevestiging per e-mail.

2

Toegang leerplatform

In de e-mail staat een link waarmee je toegang krijgt tot ons leerplatform.

3

Direct beginnen

Je kunt direct van start. Studeer vanaf nu waar en wanneer jij wilt.

4

Training afronden

Rond de training succesvol af en ontvang van ons een certificaat!

Veelgestelde vragen

Veelgestelde vragen

Op welke manieren kan ik betalen?

Je kunt bij ons betalen met iDEAL, PayPal, Creditcard, Bancontact en op factuur. Betaal je op factuur, dan kun je met de training starten zodra de betaling binnen is.

Hoe lang heb ik toegang tot de training?

Dit verschilt per training, maar meestal 180 dagen. Je kunt dit vinden onder het kopje ‘Kenmerken’.

Waar kan ik terecht als ik vragen heb?

Je kunt onze Learning & Development collega’s tijdens kantoortijden altijd bereiken via support@icttrainingen.nl of telefonisch via 026-8402941.

Background Frame
Background Frame

Onbeperkt leren

Met ons Unlimited concept kun je onbeperkt gebruikmaken van de trainingen op de website voor een vast bedrag per maand.

Bekijk de voordelen

Heb je nog twijfels?

Of gewoon een vraag over de training? Blijf er vooral niet mee zitten. We helpen je graag verder. Daar zijn we voor!

Contactopties