2011-02-18 60 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,它永远不会被调用。

相关问题