7

在我的应用程序中,我想要两个不同的 URL 方案。

所以用户可以打开我的应用程序:
one://something

two://something

我正在使用这个:

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
}

应用程序如何知道用户输入了一个还是两个?

4

1 回答 1

11

handleOpenURL已弃用,因此如果您的目标是 iOS 4.2 或更高版本,则应改为使用application:openURL:sourceApplication:annotation:

在这两种情况下,您都会收到一个NSURL,您可以在其上访问scheme属性以找出用于访问您的应用程序的方案。

编辑:为了可读性;在您的实现中application:openURL:sourceApplication:annotation:,代码将类似于;

if([[url scheme] caseInsensitiveCompare:@"one"] == NSOrderedSame) 
{ 
    /* one here */ 
} else { 
    /* not one here */ 
}
于 2013-01-26T15:47:50.197 回答