我需要我的iOS应用来处理自定义网址方案,例如myapp://d1/d2
。
我在我的应用URL Types
中设置info.plist
并实施了所需的委托方法:
-(BOOL) application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
...
}
我运行我的应用程序,然后切换到Safari(因此我的应用程序在后台运行)。在Safari中,我打开网址myapp://d1/d2
。结果,我的应用程序按照宣传的方式弹出到前台,并调用上面的方法。问题是其所有参数(application
,url
,sourceApplication
和annotation
)均为空。
花了一些时间而没有得到任何非空参数后,我尝试用折旧的application:handleOpenURL:
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
...
}
那很有用。 url
参数正是我在Safari中输入的内容。
显然我不想使用折旧方法。我做错了什么?
使用iOS 6.1.3在iPad上运行,并在模拟器上运行。