Swift – Native OCR reader

Starting from iOS 11, Apple introduces a new framework called Vision.

The Vision framework performs face and face landmark detection, text detection, barcode recognition, image registration, and general feature tracking. Vision also allows the use of custom Core ML models for tasks like classification or object detection.

https://developer.apple.com/documentation/vision

Today we implement with few lines of code one of the simplest features of this beautiful framework, the OCR reader.

Read More
 

Connect to Wifi network from code – Swift

With the NetworkExtension framework, you can customize and extend the core networking features of iOS and macOS. Specifically, you can:

  • Change the system’s Wi-Fi configuration
  • Integrate your app with the hotspot network subsystem (Hotspot Helper)
  • Create and manage VPN configurations, using the built-in VPN protocols (Personal VPN) or a custom VPN protocol
  • Implement an on-device content filter
  • Implement an on-device DNS proxy

The NetworkExtension framework is available in macOS and iOS, but not all features are available on both platforms and some features have specific restrictions (for example, some features only work on supervised iOS devices). The documentation for each feature describes these restrictions.

Read More
 

Swift – Natural language recognizer

Hi!

with iOS 12, Apple released a new framework for language recognition and other interesting stuff. Is called NLLanguageRecognizer.

Use the Natural Language framework to perform tasks like language and script identification, tokenization, lemmatization, parts-of-speech tagging, and named entity recognition. You can also use this framework with Create ML to train and deploy custom natural language models.

Read More

 

Swift – Access list items from Struct, Class and Enum using Subscript

Classes, structures, and enumerations can define subscripts, which are shortcuts for accessing the member elements of a collection, list, or sequence. You use subscripts to set and retrieve values by index without needing separate methods for setting and retrieval. For example, you access elements in an Array instance as someArray[index]and elements in a Dictionary instance as someDictionary[key].

You can define multiple subscripts for a single type, and the appropriate subscript overload to use is selected based on the type of index value you pass to the subscript. Subscripts are not limited to a single dimension, and you can define subscripts with multiple input parameters to suit your custom type’s needs.

Read More