在iPhone或iPad应用程序中调用main时会发生什么



我目前正试图调试一个iPhone应用程序的问题。当我在Xcode中运行它时,main被调用,但不是- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions。这让我想到了一个重要的问题,它可以帮助我解决这个问题,同时也可以帮助我更好地理解iPhone/iPad应用程序的启动顺序。那么,谁能以简洁的方式解释在iPhone或iPad应用程序中调用main时会发生什么?

谢谢!

当main被调用时,

UIKIT_EXTERN int UIApplicationMain(int argc, char *argv[], NSString *principalClassName, NSString *delegateClassName);

苹果公司是这么说的

如果为principalClassName指定nil,则从Info. Info中获取NSPrincipalClass的值。使用Plist。如果没有指定NSPrincipalClass键,则使用UIApplication类。委托类将使用init进行实例化。

您可以在main.h或info.plist中检查这些条目

我刚刚发现这个很有趣。

还需要注意的是,如果你在Xcode中使用其中一个模板创建一个新项目,Xcode将为你构建一个非常好的主方法,它肯定会为你调用didFinishLaunchWithOptions,你可以分析并遵循Xcode的领导

相关内容

  • 没有找到相关文章

最新更新