2011-11-17 13 views
2

我目前正在嘗試調試iPhone應用程序的問題。當我運行它在Xcode main被稱爲,但不是- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions。這導致我一個基本的問題,應該幫助我解決這個問題,但也更多地瞭解iPhone/iPad應用程序的啓動順序。那麼,任何人都可以用簡潔的方式解釋當在iPhone或iPad應用程序中調用main時發生了什麼?當在iPhone或iPad應用程序中調用main時會發生什麼情況?

謝謝!

回答

1

我剛剛發現this這很有趣。

1

當主被調用時,

UIKIT_EXTERN INT UIApplicationMain(INT的argc,字符* argv的[],的NSString * principalClassName,的NSString * delegateClassName);

被調用。

這是蘋果公司爲這種方法所說的。

如果對於principalClassName指定nil,則使用Info.plist中的NSPrincipalClass值。如果沒有指定NSPrincipalClass鍵,則使用UIApplication類。委託類將使用init實例化。

您可以在main.h或info.plist中檢查這些條目。

0

請注意,如果您使用其中一個模板在Xcode中創建新項目,Xcode將構建一個非常好的主方法,它將爲您確定調用didFinishLaunchWithOptions,您可以分析並遵循Xcode的領先。

相關問題