0

我有一些 iOS 应用程序,我想使用相同的 URL 方案从 safari 或其他应用程序打开它们,我该怎么做?

4

1 回答 1

0

这是我在此博客中写的一个条目:如何从 Safari 启动您的应用程序 http://appleiostips.wordpress.com/2011/07/27/launch-app-from-safari/

您必须使用 XCode 打开文件 myapp-Info.plist 。然后添加一种名为:URL Types 的新行,在里面添加一个 Item 0。在项目内添加 URL 方案。在此 URL 方案中,写下您要为您的应用程序注册的名称。在这个例子中,我们使用了 myapp 。

然后,当 iOS 找到指向 myapp://withsomestuff 的链接时,将启动应用程序并调用应用程序委托中的 handleURL 方法:

- (BOOL)application:(UIApplication*) application handleOpenURL:(NSURL*) url
Inside this method you can parse the url to obtain aditional parameters.

    - (BOOL)application:(UIApplication*) application handleOpenURL:(NSURL*) url{
    if (!url) return NO;
    NSString* urlString=[url absoluteString];
    NSLog(@”Received URL %@”,urlString);
    NSString *loginCmd=@”myapp://login?”;
    //Expects to receive myapp://login?user_name&password
    if ([urlString hasPrefix:loginCmd]){
        NSRange rangeAmp=[urlString rangeOfString:@"&"];
        if (rangeAmp.location>([loginCmd length]+1)){
            NSString* password=[urlString substringFromIndex:rangeAmp.location+1];
            NSRange userRange={[loginCmd length],rangeAmp.location-[loginCm length]};
            NSString* user=[urlString substringWithRange:userRange];
        }
    }
returnYES;
}
于 2012-08-30T07:13:53.467 回答