Q.iOS
Architecture
Q.iOSApp
lifecycle
Q. Where can you
test Apple iPhone apps if you don’t have the device?
A. iOS Simulator can be used to test mobile
applications. Xcode tool that comes along with iOS SDK includes Xcode
IDE as well as the iOS Simulator. Xcode also includes all required tools and
frameworks for building iOS apps. However, it is strongly recommended to
test the app on the real device before publishing it.
Q. Does iOS
support multitasking?
A. iOS 4 and above supports multi-tasking and allows
apps to remain in the background until they are launched again or until they
are terminated.
Q. What are the
tools required to develop iOS applications?
A. iOS
development requires Intel-based Macintosh computer and iOS SDK. Current Mac os
version is 10.11, Xcode version 7.1.1 iOS Version 9.1
Q. Name the
framework that is used to construct application’s user interface for iOS.
A. The UIKit
framework is used to develop application’s user interface for iOS. UIKit
framework provides event handling, drawing model, windows, views, and
controls specifically designed for a touch screen interface.
Q. Name the
application thread from where UIKit classes should be used?
A. UIKit classes should be used only from an
application’s main thread.
Note: The derived classes of UIResponder and the classes which
manipulate application’s user interface should be used from application’s main
thread.
A. An application
behaves differently when running in foreground than in background because of
the limitation of resources on iOS devices.
Q. How can an
operating system improve battery life while running an app?
A. An app is
notified whenever the operating system moves the apps between foreground and
background. The operating system improves battery life while it
bounds what your app can do in the background. This also improves the user
experience with foreground app.
Q. When an app is
said to be in active state?
A. An app is
said to be in active state when it is running in foreground and is receiving
events.
Q. An app is
loaded into memory but is not executing any code. In which state will it be in?
A. An app is
said to be in suspended state when it is still in memory but is not executing
any code.
Q. How can you respond
to state transitions on your app?
A. On state
transitions can be responded to state changes in an appropriate way by
calling corresponding methods on app's delegate object.
For
example: applicationDidBecomeActive method can be used to prepare to run
as the foreground app.
applicationDidEnterBackground
method can be used to execute some code when app is running in the background
and may be suspended at any time.
applicationWillEnterForeground
method can be used to execute some code when your app is moving out of the
background
applicationWillTerminate
method is called when your app is being terminated.
Q. List down
app's state transitions when it gets launched.
A. Before the
launch of an app, it is said to be in not running state.
When an app is launched,
it moves to the active or background state, after transitioning briefly through
the inactive state.
Q. Who calls the
main function of you app during the app launch cycle?
A. During app
launching, the system creates a main thread for the app and calls the app’s
main function on that main thread. The Xcode project's default main function
hands over control to the UIKit framework, which takes care of
initializing the app before it is run.
A. Controller object
UIApplication is used without subclassing to manage the application event
loop.
It coordinates other
high-level app behaviors.
It works along with
the app delegate object which contains app-level logic.
Q. Which object
is create by UIApplicationMain function at app launch time?
A. The app delegate
object is created by UIApplicationMain function at app launch time. The app
delegate object's main job is to handle state transitions within the app.
Q. How is the app
delegate is declared by Xcode project templates?
A. App delegate is
declared as a subclass of UIResponder by Xcode project templates.
Q. What happens
if IApplication object does not handle an event?
A. In such case the
event will be dispatched to your app delegate for processing.
Q. Which app
specific objects store the app's content?
A. Data model
objects are app specific objects and store app’s content. Apps can also use
document objects to manage some or all of their data model objects.
Q. Are document
objects required for an application? What does they offer?
A. Document objects
are not required but are very useful in grouping data that belongs in a single
file or file package.
Q. Which object
manage the presentation of app's content on the screen?
A. View controller
objects takes care of the presentation of app's content on the screen. A view
controller is used to manage a single view along with the collection of
subviews. It makes its views visible by installing them in the app’s window.
Q. Which is the
super class of all view controller objects?
A. UIViewController
class. The functionality for loading views, presenting them, rotating them in
response to device rotations, and several other standard system behaviors are
provided by UIViewController class.
Q. How do you
change the content of your app in order to change the views displayed in the
corresponding window?
A. To change the
content of your app, you use a view controller to change the views displayed in
the corresponding window. Remember, window itself is never replaced.
Q. Define view
object.
A. Views along with
controls are used to provide visual representation of the app content. View is
an object that draws content in a designated rectangular area and it responds
to events within that area.
Q. What are layer
objects and what do they represent?
A. Layer objects are
data objects which represent visual content. Layer objects are used by views to
render their content. Custom layer objects can also be added to the interface
to implement complex animations and other types of sophisticated visual
effects.
Q. Difference
between Static & Dynamic TableView
Static cells are
basically a "what you see is what you get" in Interface Builder. What
you put into theUITableView is what you'll see when you run the app.
Dynamic prototypes, instead, allow you to lay out cells that you can
re-use by calling:
UITableViewCell * cell = [tableView
dequeueReusableCellWithIdentifier:CELL_ID_SET_IN_IB];
With this, you
determine the number of cells using the delegate methods in the UITableViewController.
You can have multiple prototype cells and determine which to load depending on
index path.
we can use segues with both.
Q. What is NSUserDefaults? What type of data can
we store there?
NSUserDefaults is a simple property list (aka plist) where an app can
store simple data. While there is no limit to its size (besides the device’s
own limits), you should not store a large amount of data here. The file is
written and read atomically (as a whole), so the more data that is in there,
the longer that will take
Q. What is the output binary format?
.ipa file
iOS Enterprise Program - Can distribute apps
only within enterprise not to App Store. No limit on number of devices you can
distribute your apps to. Can restrict access where member can request developer
certificate, admins approve it. Cannot distribute apps via AppStore.
iOS Developer Program - Can test the apps on
max 100 devices only. Distribute apps to AppStore.
Q. Explain retain counts.
Retain counts are
the way in which memory is managed in Objective-C. When you create an object,
it has a retain count of 1. When you send an object a retain message, its
retain count is incremented by 1. When you send an object a release message,
its retain count is decremented by 1. When you send an object a autorelease
message, its retain count is decremented by 1 at some stage in the future. If
an objectʼs retain count is reduced to 0, it is deallocated.
No comments:
Post a Comment