我有一些iOS应用程序,我想使用相同的URL方案从safari或其他应用程序打开它们,我该怎么办?
答案 0 :(得分:0)
这是我在此博客中写的条目: 如何从Safari启动您的应用程序 http://appleiostips.wordpress.com/2011/07/27/launch-app-from-safari/
您必须使用XCode打开文件myapp-Info.plist。然后添加一种名为URL类型的新行,在里面添加一个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;
}