Tag Archives: iOS

How to Install a Clean iOS

Motivation:

You want to sell or give away your iPhone. You want to ensure that the new owner will not access any of your data.

You may also need to give your iPhone to a technician to fix the broken display of your iPhone. You want to ensure that the technician cannot access any of your data.

You may also have so many buggy applications on your iPhone and want to increase stability and performance of your iOS.

Procedure:

  • Import your Photos to a MacBook.
  • Create a backup of data. It is best to let your iPhone synchronize everything with iCloud, including Photos and Contacts.
  • Turn off Find My iPhone.
  • Plug your iPhone to a MacBook.
  • Open Finder. Click on your iPhone on the left panel.
  • Click Restore iPhone… button.
  • Click Backup button.
  • Click Restore and Update button. Click Next button. Click Agree button.
  • Follow the instructions to install a clean iOS to your iPhone.

Post Installation Configuration:

  • Setup your iPhone.
  • Activate your iPhone.
  • Setup Face ID.
  • Restore your Apps & Data from iCloud backup.
  • Synchronize music to your iPhone.
  • Go to Settings > Generals > Software Update > Automatic Updates. Turn off Automatic Updates.
  • Go to Settings > Generals > Display & Brightness > Text Size. Drag the slider to the right to increase text size.
  • Go to Settings > Messages. Enable iMessage.

Topic 8 – Introduction to Mobile Application Development

Why do I need to learn about mobile application development?

Desktop applications are very useful but their deployment and updating are daunting. Web applications overcome many limitations but you still need a workstation to work with it. This is often a PC or MAC that is too large and heavy to bring on-the-go.
Nowadays most of us always bring a mobile device with us everywhere. It's very convenient if we could use our daily software inside our mobile devices. In order to  leverage our mobile devices we need to develop software for them.
Therefore you need to learn mobile programming.

What can I do after finishing learning mobile programming?

You can create applications like WhatsApp, Instagram or games like Temple Run, Angry Birds, Fruit Ninjia.

How interesting! What should I do now?

Mobile programming requires a lot of reading. You have to master at least a programming language and a mobile platform.
Currently, there are 2 major platforms for mobile development: Android and iOS.
There are 3 options for developing a mobile application: native Android application or native iOS application or hybrid mobile application.
The first option for learning mobile programming is Android programming.
If you are not familiar with Kotlin language, please read this Josh Skeen and David Greenhalgh (2018). Kotlin Programming - The Big Nerd Ranch Guide. Pearson Education book first.
After that please read this Bill Phillips et al. (2019). Android Programming - The Big Nerd Ranch Guide. Big Nerd Ranch Guides book.
After that please read 
- this Cay S. Horstmann (2019). Core Java. Volume I - Fundamentals. Pearson book, and
- this Cay S. Horstmann (2019). Core Java. Volume II - Advanced Features. Pearson book.
The second option for learning mobile application development is iOS programming.
Please read
- this "Matthew Mathias and John Gallagher (2016). Swift Programming: The Big Nerd Ranch Guide. 2nd Edition. Big Nerd Ranch" book or
- this "Matt Neuburg (2018). iOS 12 Programming Fundamentals with Swift. O'Reilly Media" book first.

After that please read 
- this "Christian Keur and Aaron Hillegass (2016). iOS Programming: The Big Nerd Ranch Guide. 6th Edition. Big Nerd Ranch" book or
- this "Jonathon Manning et al. (2018). Learning Swift - Building Apps for macOS, iOS, and Beyond. O'Reilly Media" book.

A complementary part of this option is Objective-C. Please read 
- this "Stephen G. Kochan (2013). Programming in Objective-C" book or 
- this "Neil Smyth (2012). Objective-C 2.0 Essentials" book.
The third option for developing mobile applications is either

(i) to leverage C# language and Xamarin framework; please read this "Charles Petzold (2016). Creating Mobile Apps with Xamarin.Forms" book; or

(ii) to leverage HTML/CSS/Javascript language and Ionic framework; please read this "Jeremy Wilken (2015). Ionic in Action: Hybrid Mobile Apps with Ionic and AngularJS" book; or

(iii) to leverage HTML/CSS/Javascript language and React Native framework; please read this "Alex Banks and Eve Porcello (2017). Learning React Functional Web Development with React and Redux" book; then read this "Bonnie Eisenman (2016). Learning React Native: Building Native Mobile Apps with JavaScript" book.
Mobile is a great environment for games because of its mobility. If you are interested in developing games for Android please read this  "Jayme Schroeder and Brian Broyles (2013). AndEngine for Android Game Development Cookbook" book.
If you already have a background of C or C++ and want to develop games for both Android and iOS then please read 
- this "Roger Engelbert (2015). Cocos2d-x by Example: Beginner's Guide" book or 
- this "Raydelto Hernandez (2015). Building Android Games with Cocos2d-x" book.

It seems that there are a lot of topics to learn. I am totally new to mobile programming. What are the only essential knowledge should I learn in order to reduce my invested time?

You could focus on these topics first?
- How to install necessary tools and create a Hello World application?
- What is the physical structure of a project and how to build it using both IDE and command line?
- How to deploy an application to Play Store or App Store?
- How to create UIs, transfer data between UIs, compose new UI using existing UIs using SDK features or frameworks?
- How to use built-in or 3rd party libraries to interact with camera, microphone, media player, GPS device, local files, local databases, external databases and external services.
- How to call native code libraries to improve performance or access low-level features.
After finishing these books please click Topic 9 - Software Requirements to continue.