2011-02-18 61 views
0

我想要開始使用Phonegap。Phonegap,iphone - applicationDidFinishLaunching不會調用

我已經添加了一些代碼到applicationDidFinishLaunching,但是這似乎沒有被調用。

我已經爲每個init和applicationDidFinishLaunching方法添加了斷點(日誌,繼續)。這證實後者確實沒有被引用。

Xcode,Objective-C和Phonegap對我來說都是陌生的,所以我對於如何解決這個問題有點失落。

感謝

編輯:我只是試圖創建一個全新的空白未修改的PhoneGap項目,同樣的事情發生了。 init斷點觸發,但applicationDidFinishLaunching不會。

回答

1

我是iphone開發新手。但我已經使用phonegap框架完成了一個小應用程序。

是當我們使用的PhoneGap框架,我們的項目的applicationDidFinishLaunching不工作,其他的方法,如webViewDidFinishLoad和webViewDidStartLoad在應用程序委託也不會工作。

相反PhoneGapLib.xcodeproj這applicationDidFinishLaunchinWithOptions包含在我們的項目phonegap得到執行。

嘗試編寫NSLog();那裏。 U會在CONSOL上得到輸出。

+0

所以,「因爲它不起作用」似乎是正確的答案:-)謝謝。 – Rich 2011-02-21 02:52:49

5

發生這種情況的原因是因爲Phonegap Xcode模板對應用加載事件使用了錯誤的UIApplication方法。從iOS 4.0及更高版本開始,Apple建議使用didFinishLaunchingWithOptions而不是applicationDidFinishLaunching,因爲前者包含可讓開發人員知道如何調用該應用程序的選項參數。由於iOS 4.0及更高版本支持後臺處理,因此應用程序可能已從Apple推送通知啓動並需要適當處理。

所以要解決這個問題,你需要刪除引用的applicationDidFinishLaunching,包括下面的代碼,而不是你的AppDelegate.m文件中的代碼:

(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    //  Add custom code here 

    return [ super application:application didFinishLaunchingWithOptions:launchOptions ]; 
} 

出於某種原因,PhoneGap的0.9.3庫具有在PhoneGapDelegate.m中正確實現didFinishLaunchingWithOptions,但主XCode模板仍然引用applicationDidFinishLaunching,它永遠不會被調用。

相關問題