footer Best iOS Apps iPhone Interview Questions 2019 - APTRON Solutions

iOS Apps iPhone Interview Questions

iOS Apps iPhone Interview Questions: Candidates who are able to answer the iOS interview questions at one go to the interviewer, may discover their career goal achieved at the meeting. Answering effective and relevant answers in iOS interview questions generate a wide chance for a successful interview venture. This article is composed of iOS interview questionnaire. The article has been generated by Aptron's iOS specialists, iOS experts, and iOS trainers who have put their thorough knowledge and best of information in iOS interview questions and answers for freshers, and experience applicants. The questionnaire is comprises of detailed answers wrapping basic and advanced iOS interview questions. The questionnaire helps job candidates to crack interviews and acknowledge relevant answers to their doubts or confusions. The iOS Interview Questions is a summarization of verticals accessible in the iOS technology.

ios interview questions

About iOS Apps iPhone

iOS Apps iPhone is an operating system created and developed by Apple devices such as iPad, iPhone, iPod Touch, and iWatch. It is the most known and used mobile operating system after Android in the worldwide market. iOS has been extending its support to other Apple devices such as Apple's App Store has more than 2.1 million iOS applications, 1 million of which are native for iPads. These mobile apps have cooperatively been downloaded more than 130 billion times in a day.

iOS Apps iPhone Interview Questions And Answers

1. What are the characteristics of iOS?

Criteria Result
Type of operating system Apple proprietary based on Macintosh OS X
OS fragmentation Tightly integrated with Apple devices
Security Heightened security guaranteed

2. Which JSON framework is supported by iOS (iPhone OS)?

  • SBJson framework is supported by iOS. It is a JSON parser and generator for Objective-C (Objective-C is the primary programming language we use when writing software for OS X and iOS. It is a superset of the C programming language and provides object-oriented capabilities and a dynamic runtime).
  • SBJson provides flexible APIs and additional control that makes JSON handling easy.

3. How can you prevent iOS 8 app's streaming video media from being captured by QuickTime Player on Yosemite during screen recording?

HTTP live streams that have their media encrypted will not be recorded by QuickTime Player on Yosemite while screen recording. These will blackout in the recording.

HTTP live streaming: It sends live and on‐demand audio and video to iPhone, iPad, Mac, Apple TV, and PC with HTTP live streaming (HLS) technology from Apple. Using the same protocol that powers the web, HLS lets us deploy the content using ordinary web servers and content delivery networks. HLS is designed for reliability and dynamically adapts to network conditions by optimizing playback for the available speed of wired and wireless connections.

4. Name the framework that is used to construct the application’s user interface for iOS.

  • The UIKit framework is used to develop the application’s user interface. The UIKit framework provides event handling, drawing model, windows, views, and controls, specifically designed for a touch-screen interface.
  • The UIKit framework (UIKit.framework) provides the crucial infrastructure needed to construct and manage iOS apps. This framework provides:
    • Window and view architecture to manage an app’s user interface
    • Event handling infrastructure to respond to the user input
    • An app model to drive the main run loop and interact with the system

In addition to the core app behaviors, UIKit provides support for the following features:

  • A view controller model to encapsulate the contents of the user interface
  • Support for handling touch and motion-based events
  • Support for a document model that includes iCloud integration
  • Graphics and windowing support, including support for external displays
  • Support for managing the app’s foreground and background execution
  • Printing support
  • Support for customizing the appearance of standard UIKit controls
  • Support for text and web content
  • Cut, copy, and paste support
  • Support for animating user-interface content
  • Integration with other apps on the system through URL schemes and framework interfaces
  • Accessibility support for disabled users
  • Support for the Apple Push Notification service
  • Local notification scheduling and delivery
  • PDF creation
  • Support for using custom input views that behave like the system keyboard
  • Support for creating custom text views that interact with the system keyboard
  • Support for sharing content through Email, Twitter, Facebook, and other services

5. How can you respond to state transitions on your app?

State transitions can be responded to state changes in an appropriate way by calling corresponding methods on the app’s delegate object.

For example:

  • applicationDidBecomeActive( ) method: To prepare to run as the foreground app
  • applicationDidEnterBackground( ) method: To execute some code when the app is running in the background that may be suspended at any time
  • applicationWillEnterForeground( ) method: To execute some code when the app is moving out of the background
  • applicationWillTerminate( ) method: Called when the app is being terminated

6. What are the features added in iOS 9?

The following features are added in iOS 9:

  • Intelligent search: It is an excellent mechanism to learn user habits and act on that information—open apps before we need them, make recommendations on places we might like, and guide us through our daily lives to make sure we’re where we need to be at the right time.
  • Siri: It is a personal assistant to the users that is able to create contextual reminders and search through photos and videos in new ways. Swiping right from the home screen brings up a new screen that houses ‘Siri Suggestions,’ putting favorite contacts and apps right on our fingertips, along with nearby restaurant and location information and important news.
  • Deeper search capabilities: It can show results such as sports scores, videos, and content from third-party apps, and we can even do simple conversions and calculations using the search tools on our iPhone or iPad.
  • Performance improvements: The following built-in apps have been improved:
    • Notes including new checklists and sketching features
    • Maps now offering transit directions
    • Mail allowing for file attachments
    • New ‘News’ app that learns our interests and delivers relevant content we might like to read
    • Apple Pay being improved with the addition of store credit cards and loyalty cards
    • ‘Passbook’ being renamed to ‘Wallet’ in iOS 9
  • San Francisco font
  • Wireless CarPlay support
  • Optional iCloud Drive app: It is a built-in two-factor authentication system with optional longer passwords for better security.

7. What is the difference between retain and assign?

Assign creates a reference from one object to another without increasing the source’s retain count.

if (_variable != object)
 [_variable release];
  _variable = nil;
  _variable = object;

Retain creates a reference from one object to another and increases the retain count of the source object.

if (_variable != object)
  [_variable release];
    _variable = nil;
_variable = [object retain];

8. What is Cocoa and Cocoa Touch?

Cocoa Cocoa Touch
1. Application development environments for OS X 1. Application development environments for iOS
2. Includes the Foundation and AppKit frameworks 2. Includes Foundation and UIKit frameworks
3. Used to refer any class/object which is based on the Objective-C runtime & inherits from the root class 3. Used to refer the application development using any programmatic interface

9. What is the difference between atomic and nonatomic properties? Which is the default for synthesized properties?

Properties specified as atomic always return a fully initialized object. This also happens to be the default state for synthesized properties. But, if you have a property for which you know that retrieving an uninitialized value is not a risk (e.g. if all access to the property is already synchronized via other means), then setting it to nonatomic can give you better performance than atomic.

10. Differentiate ‘app ID’ from ‘bundle ID’. Explain why they are used.

An App ID is a two-part string used to identify one or more apps from a single development team. The string consists of a Team ID and a bundle ID search string, with a period (.) separating the two parts. The Team ID is supplied by Apple and is unique to a specific development team, while the bundle ID search string is supplied by the developer to match either the bundle ID of a single app or a set of bundle IDs for a group of apps.

The bundle ID defines each App and is specified in Xcode. A single Xcode project can have multiple targets and therefore output multiple apps. A common use case is an app that has both lite/free and pro/full versions or is branded multiple ways.

11. Which are the ways of achieving concurrency in iOS?

The three ways to achieve concurrency in iOS are:

  • Threads
  • Dispatch queues
  • Operation queues

12. Explain the different types of iOS Application States.

The different iOS application states are:

  • Not running state: when the app has not been launched or was running but was terminated by the system.
  • Inactive state: when the app is running in the foreground but is currently not receiving events. An app stays in this state briefly as it transitions to a different state. The only time it stays inactive is when the user locks the screen or the system prompts the user to respond to some event such as a phone call or SMS message.
  • Active state: when the app is running in the foreground and is receiving events. This is the normal mode for foreground apps.
  • Background state: when the app is in the background and executing code. Most apps enter this state briefly on their way to being suspended. However, an app that requests extra execution time can remain in this state for some time. Also, an app being launched directly into the background enters this state instead of the inactive state.
  • Suspended state: A suspended app remains in memory but does not execute any code. When a low-memory condition occurs, the system may purge suspended apps without notice to make more space for the foreground app.

13. Which is the application thread from where UIKit classes should be used?

UIKit classes should be used only from an application’s main thread.

14. Which API would you use to write test scripts to exercise the application’s UI elements?

UI Automation API is used to automate test procedures. JavaScript test scripts that are written to the UI Automation API simulate user interaction with the application and return log information to the host computer.

15. When would you say that an app is not in a running state?

An app is said to be in ‘not running’ state in the following cases:

  • When it is not launched.
  • When it gets terminated by the system during running.

16. Which is the state an app reaches briefly on its way to being suspended?

An app enters background state briefly on its way to being suspended.

17. What is Swift and what is Objective-C?

Objective-C is the primary programming language you use to write software for OS X and iOS. It’s a superset of the C programming language and provides object-oriented capabilities and a dynamic runtime. Objective-C inherits the syntax, primitive types, and flow control statements of C and adds syntax for defining classes and methods. It also adds language-level support for object graph management and object literals while providing dynamic typing and binding, deferring many responsibilities until runtime.

Swift is a new programming language for iOS, OS X, watchOS, and tvOS apps that builds on the best of C and Objective-C, without the constraints of C compatibility. Swift adopts safe programming patterns and adds modern features to make programming easier, more flexible, and more fun. Swift feels familiar to Objective-C developers and is friendly to new programmers.

18. What is SpriteKit and what is SceneKit?

SpriteKit is a framework for easy development of animated 2D objects.

SceneKit is a framework inherited from OS X that assists with 3D graphics rendering.

SpriteKit, SceneKit, and Metal are expected to power a new generation of mobile games that redefine what iOS devices’ powerful GPUs can offer.

19. What are iBeacons? defines iBeacon as Apple’s technology standard which allows Mobile Apps to listen for signals from beacons in the physical world and react accordingly. iBeacon technology allows Mobile Apps to understand their position on a micro-local scale, and deliver hyper-contextual content to users based on location. The underlying communication technology is Bluetooth Low Energy.

20. What is autorealease pool?

Every time -autorelease is sent to an object, it is added to the inner-most autorelease pool. When the pool is drained, it simply sends -release to all the objects in the pool.

Autorelease pools are a convenience that allows you to defer sending -release until “later”. That “later” can happen in several places, but the most common in Cocoa GUI apps is at the end of the current run loop cycle.

21. What is the reuseIdentifier used for?

The reuseIdentifier is used to indicate that a cell can be re-used in a UITableView. For example when the cell looks the same, but has different content. The UITableView will maintain an internal cache of UITableViewCell’s with the reuseIdentifier and allow them to be re-used when dequeueReusableCellWithIdentifier: is called. By re-using table cell’s the scroll performance of the tableview is better because new views do not need to be created.

22. Explain the difference between copy and retain?

Retaining an object means the retain count increases by one. This means the instance of the object will be kept in memory until it’s retain count drops to zero. The property will store a reference to this instance and will share the same instance with anyone else who retained it too. Copy means the object will be cloned with duplicate values. It is not shared with any one else.

23. What is a category and when is it used?

A category is a way of adding additional methods to a class without extending it. It is often used to add a collection of related methods. A common use case is to add additional methods to built in classes in the Cocoa frameworks. For example adding async download methods to the UIImage class.

24. What is the difference between viewDidLoad and viewDidAppear?

viewDidLoad is called when the view is loaded, whether from a Xib file, storyboard or programmatically created in loadView. viewDidAppear is called every time the view is presented on the device. Which to use depends on the use case for your data. If the data is fairly static and not likely to change then it can be loaded in viewDidLoad and cached. However if the data changes regularly then using viewDidAppear to load it is better. In both situations, the data should be loaded asynchronously on a background thread to avoid blocking the UI.

25. What considerations do you need when writing a UITableViewController which shows images downloaded from a remote server?

This is a very common task in iOS and a good answer here can cover a whole host of knowledge. The important piece of information in the question is that the images are hosted remotely and they may take time to download, therefore when it asks for “considerations”, you should be talking about:

  • Only download the image when the cell is scrolled into view, i.e. when cellForRowAtIndexPath is called.
  • Downloading the image asynchronously on a background thread so as not to block the UI so the user can keep scrolling.
  • When the image has downloaded for a cell we need to check if that cell is still in the view or whether it has been re-used by another piece of data. If it’s been re-used then we should discard the image, otherwise we need to switch back to the main thread to change the image on the cell.

26. What's the difference between using a delegate and notification?

Both are used for sending values and messages to interested parties. A delegate is for one-to-one communication and is a pattern promoted by Apple. In delegation the class raising events will have a property for the delegate and will typically expect it to implement some protocol. The delegating class can then call the _delegate_s protocol methods.

Notification allows a class to broadcast events across the entire application to any interested parties. The broadcasting class doesn't need to know anything about the listeners for this event, therefore notification is very useful in helping to decouple components in an application.

[NSNotificationCenter defaultCenter]

27. What is ARWorld Map?

An ARWorldMap object contains a snapshot of all the spatial mapping information that ARKit uses to locate the user’s device in real-world space.

28. How shared AR Experience is Created?

Once the AR world map created from once device is transferred to the other device using P2P connectivity or some other reliable source, the other devices can also have the same AR experience similar to the first device.

To create an ongoing shared AR experience, like placing an AR object, When one user taps in the scene, the app creates an anchor and adds it to the local ARSession, instead of sending the whole map we can serializes that ARAnchor using Data and sends it to other devices in the multipeer session.

29. What are Tuples in Swift?

Tuples are Temporary container for Multiple Values. It is a comma-separated list of types, enclosed in parentheses. In other words, a tuple groups multiple values into a single compound value.

30. What are the Control Transfer Statements in swift?

break, continue, fallthrough, return, throw

Career scopes and salary scale

The average unemployment is rising across job markets. But, when it is about software development and software programming, to requirement of iOS programmers are at higher side. iOS applicants with in-depth knowledge and skill-based training cum experience in iOS programming are able find their smooth ways to achieve their career goals. Besides, iOS has occupied the topmost place in the arena of programming software and application.

A iOS developer or programmer is expected a minimum salary of 40, 000 dollars per annum. Although the salary of an experienced iOS developer can reach to double the figure mentioned before. The salaries are very dependent upon the location, business, and the company’s requirements.


The article ‘iOS interview questions’ has been successfully answered every advanced iOS interview questions. Additionally, the considerate structured of the iOS interview questions for experienced is being designed by our trainers and team of experts. They have tried their best of knowledge to assist professionals in getting answers to all qualms and not clear concepts. Even then, if students still require more detailing about iOS programming, then they may drop in a message to our experts regarding iOS interview questions for experienced professionals. Our trainers would be happy to assist and resolve all your iOS-programming issues of the students. Join iOS Apps iPhone Training in Noida, iOS Apps iPhone Training in Delhi, iOS Apps iPhone Training in Gurgaon

Enquiry Now
Quick Enquiry Form


B-10, SECTOR-2
NOIDA - 201301, U.P. (INDIA)
Contact Number : +91-706-527-3000


Bhikaji Cama Place New Delhi,
Contact Number : +91-706-527-1000

APTRON Gurgaon