1.What are the benefits of Application sandboxing ?
Answer: The sandbox creates and builds a exclusive environment of data and information for each and every app. The sanbox can reduce the potential harms that can be caused by a potential hackers to an iOS device but it can't prevent the attack from happening |
Sandboxing only prevents the hijacked app from affecting the other apps and other parts of the system.
The ApplicationRoot folder is where all apps are installed. The ApplicationID is a unique name for each app, and distinctly identifies the app to set it apart from other apps. Each app stores user data and configurations within this folder.
The sandbox restricts each application so that it can only read its own files, and must get explicit user permission for access to features like Location, camera, microphone, etc.
Cookies are stored per-app, and sqlite databases are files subject to the sandbox restrictions.
On any phone, jailbroken or not, some of the Apple apps are system apps which are not restricted by the sandbox.
Read:
What are best practices that you use when developing projects in Objective-C ?
some key concepts for an iPhone developer to learn as a fresher
2.What are the Advantages and disadvantages of using interface builder in iOS ?
Answer:
Using Interface Builder has several advantages and disadvantages. Let me list some of them:
Advantages:
It's easier to quickly wind up complex interfaces of iOS apps
As it's deeply integrated with development tools, it ensures maintaining consistency within the UI of your app.
In Storyboards, you can visually see UI designs in a GUI environment, as GUIs should be displayed
Using interface builder means mean less code.
Doing things programmatically takes a long time, so much time wasted trying to align things in your head then implementing it
Disadvantage:
Making your app universal becomes much more trivial than making separate NIBs for iPhone and iPad.
It is much harder to use Interface Builder for reusable views
If you use Interface Builder and have outlets and forget to connect the outlet in the second place you use it, you crash at runtime.
If you are a beginner with iOS development, you can easily become "lazy" and not learn how to build up a complete UI entirely from code. This is a very useful skill when composing highly dynamic interfaces with lots of small details.
My main critique of interface builder is that it's not a great fit for larger cross functional teams because it makes code review difficult and it's hard to resolve merge conflicts.
Read:
iOS Interview Questions And Answers Part 24
iOS Interview Questions And Answers Part 25
3.What are the Advantages and disadvantages of using storyboard in iOS ?
Answer:
Advantages:
It's a nice way to design interfaces using storyboard.
You can use StoryBoardSegues, to determine navigation/modal relationships.
It’s a good way to maintain several views in case of storyboard,if your app supports multiple devices.
It’s best for prototyping.
You can save time by prototyping UITableViewCell
You can see all the screens of the app and the flow of your application.
You can visually track the relationship between each screen.
You can setup the user interface for iPhone 4 and iPhone 5 by applying the retina form factor from storyboard.
Storyboard helps you to show the prototype pf your app to client easily.
Disadvantages
it's not easy to work with StoryBoards in a team, since only one participant can work on the Soryboard at once .
StoryBoardSegues are kind of rigid in my experience and you may make use of prepareForSegue a lot.
Like Interface builder, it’s not very friendly with other display engines and toolkits.
It’s hard to share designs for a single view or set of views - you have to send all or nothing,if you are using story board
If you are using StoryBoard, you will require a big screen specially in case of iPad.
It’s difficult to copy views from other apps to storyboard.
It creates problems in storyboard when multiple developers work on the same project by using git repository.
Read:
iOS Interview Questions And Answers For 1-2 years Experienced Candidates.
4.What is the difference between device Token and Device UDID?
Answer:
Device UDID:
It's a unique number for each device used by the developers to distribute new apps directly into the phone for testing purposes before they are available in the App Store.
It's used to create an Apple's provisioning file that is embedded with the app while your app is in iTunes.
You can find the UDID of a device by following ways:
1.Open Xcode
2.Go to organizer after connecting a device to your computer.
Now, you can see UDID of a particular device as 'identifier'
Alternative Way:
Connect your device to your computer and open iTunes of your Mac.
Select your device in the Device list.
Click the Serial Number. It will switch to displaying your UDID.
Device Token:
Device token is an identifier for the Apple Push Notification service for iOS devices.
Each device has two device tokens
One is used for development, and one for app store.
The tokens are 64 hexadecimal characters.
Read:
Top iOS interview Questions And Answers Collection
iOS Interview Questions And Answers For 1-2 years Experienced Candidates.
iOS Interview Questions And Answers part 16
5.What is keychain services in iOS applications?
Answer:
Keychain Services offers secure storage of passwords, keys, certificates, and notes for one or more users.
A user can unlock a keychain with a single password, and any Keychain Services.
Application can then use that keychain to store and retrieve passwords.
Read:
Top 5 Frequently Asked iOS Interview Questions And Answers.
Top Interview Questions And Answers in Objective C
Most Important iPhone interview Questions and Answers
Core Data Interview Questions and Answers