If I create an Objective-C iOS application in Xcode, a file named main.m
is generated. The contents of the file look something like this:
#import <UIKit/UIKit.h>
#import "AppDelegate.h"
int main(int argc, char * argv[]) {
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
And this is where an Objective-C iOS application begins its life.
Importantly, if I want to subclass UIApplication
(for whatever reason), then here is where I go to tell my app which class to use for the application class. Likewise, if for some reason I want to use a class name other than AppDelegate
for my app, I'd change that information here.
HOWEVER, if I create a Swift iOS application in Xcode, no such file is generated (that I've been able to find). Where do I set these things up at?
The application life cycle constitutes the sequence of events that occurs between the launch and termination of application. It is very important to understand for all the iOS Developers, who wants smooth user experience.
Every iOS application passes through the following states as it runs. Not Running: the app is considered to be in a Not Running state when it is not yet launched or terminated by the system or user. Inactive: the app is in an inactive state when it is in the foreground but receiving events.
Typically, application lifecycle management characterizes itself in six stages: development, introduction, growth, maturity, saturation, and decline. The duration of these stages fully depends on the product or application itself, the complexity, and the fit in the market.
An iOS app lifecycle involves each state a mobile app goes through between launch and termination. The five states include not running, inactive, active, background, and suspended.
In Swift you can use the @UIApplicationMain
attribute on your app delegate class, and it will automatically call the UIApplicationMain()
function for you.
@UIApplicationMain
class YourAppDelegate: UIResponder, UIApplicationDelegate { ...
There's another option too:
If you do not use this attribute, supply a main.swift file with a
main
function that calls theUIApplicationMain
function. For example, if your app uses a custom subclass ofUIApplication
as its principal class, call theUIApplicationMain
function instead of using this attribute.
References:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With