如果写点东西
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { NSLog(@"Starting point 1"); }
的main.m
int main(int argc,char * argv[]) { ...... NSLog(@"Starting point 0"); }
哪一个更有用main.m或appDelegate.m一个和哪个scenerio.
解决方法
这是一篇有趣的文章,解释了应用程序启动顺序.
http://oleb.net/blog/2011/06/app-launch-sequence-ios/
作为文章的简历,结论是:
除了application:didFinishLaunchingWithOptions:之外,在启动序列期间还有几个自定义代码入口点(通常不需要):
在调用UIApplicationMain()之前直接在main()中.
自定义UIApplication子类的init方法.
我们的应用程序的initWithCoder:或awakeFromNib方法是从NIB文件(默认)创建的.
我们的应用程序的初始化方法委托类或自定义UIApplication子类.任何类在从程序中发送第一条消息之前都会收到初始化消息.
请注意,此序列仅在实际启动应用时发生.如果应用程序已经运行并且只是从后台返回,则不会发生这种情况.