iOS Interview Questions and Answers
iOS, formerly known as iPhone OS, is a mobile OS created and developed by Apple for its hardware. This operating system powers most of Apple’s devices, including iPhones, iPads, and iPod Touch. iOS is the world’s second most popular mobile OS after Android. The iOS UI is based on direct manipulation by using multi-touch. Apple has been active in including accessibility functions into iOS that even enable users with vision and hearing disabilities to use its products properly. If you have read our IOS interview questions, you can find your next dream job soon.
Advantages
- User-friendly
- Intuitive and fluid responsive
- Excellent UI that works equally good for all purposes - media entertainment, gaming and business.
- Less heat generated as compared to Android.
- Best-in-class security.
Most Frequently Asked iOS Interview Questions
- Overloading happens once 2 or a lot of ways in one category have a similar technique name; however totally different parameters. But overriding suggests that having 2 ways with a similar technique name and parameters
- The real object type within the run-time, not the reference variable type, determines that the overridden technique is employed at runtime. In distinction, reference sort defines that overladen procedure is going to be used at compile time.
- Polymorphism applies to overriding, to not overloading.
- Overriding may be a run-time idea whereas overloading may be a compile-time idea.
Objective-C does not support multiple inheritances. You’ll use a protocol, composition and message forwarding to attain a similar result.
Multiple inheritances allow a category to inherit behaviors and options from over one parent. However, issues will arise with multiple inheritances as a result of it permits for ambiguities to occur. Because of this, Objective-C will don’t implement various inheritances.
Dealloc is termed as a result of memory management. Once an objects “retainCount” reaches zero, then a dealloc message is mechanically sent there to object. You should never decision dealloc on objects unless it's a decision to [super dealloc]; at the tip of Associate in Nursing overridden dealloc.
Overridden dealloc.
(Void) dealloc
{
[ivar release]; //Release any retained variables before super dealloc
[super dealloc]; //Only place in your code you should ever call dealloc
}
There are some ways to ascertain or observe memory leaks: -
- FBRetainCycleDetector
It is an open source library launched by Facebook in 2016 F8 Conference. Its goal is to observe all doable retain cycles in Objective-C codebase throughout the runtime.
- Debug Memory Graph
Actually, Xcode offers us a native way — debug memory graph to observe memory leaks. It a tool initial introduced in Xcode eight and is ready to grab leaks like retain cycles
- Allocations and Leaks Instrument
Instruments are powerful debugging and identification tools that come packaged with Xcode. For memory problems, we have a tendency sometimes to use allocations and leaks tools. Allocations instrument tracks all of the objects that app allocates over the course of its run; leaks instrument checks all memory and figures out the leaked objects. Compared to rectify memory graph, these instruments provide a lot of in-depth check out memory leaks.
Notification center is a mechanism that allows the publisher of knowledge to registered observers. Objects register with a notification center to receive notifications (NSNotification objects). Once associate object adds itself as an assistant observer, it specifies that notifications it ought to receive. The associate object might, therefore, the decision this methodology many times so as to register itself as an associate observer for many totally different notifications. Local notifications and remote notifications square measure ways that to tell users once new knowledge becomes on the market for your app, even once your app isn't running within the foreground. For instance, an electronic communication app would possibly let the user apprehend once a replacement message has arrived, associated a calendar app would probably inform the user of an impending appointment. The distinction between native and remote notifications is straightforward:
- With native notifications, your app configures the notification details regionally and passes those details to the system that then handles the delivery of the information once your app isn't within the foreground. Native notifications square measure supported on iOS, tvOS, and watchOS.
- With remote notifications, you utilize one amongst your company’s servers to push knowledge to user devices via the Apple Push Notification service. Remote warnings square measure supported on iOS, tvOS, watchOS, and macOS.
- Broken Links:
There are a couple of needed links as a part of the App Store application method. For example, your app must have a link to your privacy policy. You’ve additionally ought to have a link to app support in order that users will contact you. If these links don’t go anyplace, your app is rejected. Make sure these pages square measure in operating order before submission.
- Bugs throughout the review method
Obviously, you wouldn’t need an automobile you were pondering shopping for to interrupt down on the check drive. That’s an excellent thanks to making sure that the automobile isn’t going get oversubscribed. By that very same token, a bug that rears its ugly head throughout the review method can place your app on the main road to rejection. Each app goes to possess some problems once it’s initial free, however, try and catch as several as available throughput testing to avoid rejections and delays.
- Crashes throughout the review method
Moment dismissal anticipates your application on the off chance that it crashes all through the review technique. Obviously, the App Store is trying to find apps that truly work. If they don’t, they’re obtaining thrown the “no” pile.
- Long loading times
Your app has precisely fifteen seconds to load, or Apple goes to reject it. you'll reduce your app load time by ensuring any pictures used square measure the adequate measure and prioritizing any bugs that reason the application to crash after loading. For a lot of insight in decreasing load times, examine this text on important. measure and prioritizing any bugs that reason the application to crash after loading.
- Poor interface
Apps on the app store should supply worth and value to finish users. Apple is explicit regarding the top quality of its applications. Look to satisfy the high-level style demand of Apple, just as content size, content configuration, differentiate, arrangement, goals, mutilation, hit controls, association, and so forth. Cohesive user expertise is essential to obtain through the App Store.
- Apps that square measure demos or in beta
Demos aren’t happy with the Apple App Store. Words like “demo,” “test” and “beta” square measure reaching to get flagged for rejection as a result of the App Store needs final versions of apps. This is often simply inevitable and best observe anyway. You don’t wish users are downloading associate imperfect version of your app.
- Mistreatment non-public API
Apple is that the sole guy on the block which will use a private API. ALL Apple apps have to be compelled to use a public API so as to create it through the approval method. The rationale is that Apple needs to make sure that public arthropod genus square measure in use is to shield user knowledge from being abused.
- Inappropriate ad identifiers
Ads square measure a part of the method of building a lot of apps, however, if you utilize IDFA (the iOS advertising identifier) on something that isn’t an advertisement, then you’re reaching to get rejected right away.
- Unrelated keywords
Keywords square measure; however, users notice your app. However, mistreatment keywords that square measure incorrect or square measure unrelated to the particular mobile application square measure cause for fast rejection from Apple. It’s not legal to use proprietary words, or titles that square measure deceptive. Apps got to gift themselves honestly so as to create it through the app store approval method.
- Inappropriate content
Gambling and creative activity don't seem to be allowed within the App Store.
- Combination content
Content in mobile apps is supposed to be distinctive. Apps that square measure merely aggregates of content which will be found elsewhere square measure the net goes to induce kicked out by Apple. What goes informed any Apple application should be content that’s usable and original for finish users. Plagiarism and aggregation can get your app showed within the blink of a watch.
- Offensive language
Apple is supposed to be a secure area for folks of all non-secular faiths, ages, orientations, etc. It’s ought to all be clean and on top of the board. Something that's meant to arouse anger or to elicit a violent reaction can get thrown out right away.
- No privacy policy
It’s a tough and quick demand that each Apple app has a privacy policy in situ so as to induce approval.
- Sharing personal user knowledge
Any app that shares personal user knowledge, from names to photos to contact info, are rejected. Privacy could be a massive deal to Apple, and they’ve created a large quantity of trust with users so as to spice up their whole and create the foremost out of their client loyalty. Incursive privacy is simply not allowed.
- mistreatment Apple Pay while not the privacy policy
Another privacy policy issue is mistreatment Apple Pay while not the privacy policy for it. That features any of the weather of stigmatization or the interface generally.
- Missing information
A major demand for apps within the Apple Store is that they need information. Meaning as well as screenshots, descriptions, etc. If the information isn’t there, then the app goes to induce rejected.
Persistent storage is keeping the information you are working with around. In software engineering, persistence refers to the normal for the expression that outlasts the procedure that made it. This is accomplished practically speaking by putting away the state as information in PC information storage. When it comes to information diligence in IOS, there are Five huge approaches to accomplish information steadiness:-
- UserDefaults
- Property List
- SQLite
- Keychain
- CoreData
Development History
iOS was unveiled in 2007 by Apple for its iPhone. Since then versions have been released annually.
Latest Version: The latest version is iOS 12, which was released in September 2018. Memorize this information for IOS interview questions and answers.