如果使用SDK 9.0及更高版本的应用程序,则必须确保将要打开的应用程序方案添加到主应用程序的info.plist中:
如果不将以上内容添加到主应用程序的info.plist中(相应地更改方案),canOpenURL将始终返回NO。除非使用iOS SDK低于9.0的应用,否则不会发生。
另外,请使用以下逻辑,因为这样做更安全:
NSString * urlStr = @"mycustomurl://"; NSURL * url = [NSURL URLWithString:urlStr]; if ([[UIApplication sharedApplication] canOpenURL:url]) { if([[UIApplication sharedApplication] openURL:url]) { // App opened } else { // App not opened } } else { // Can not open URL }
我建议的最后一项检查是在设备中打开Safari应用,在url字段中输入应用方案网址字符串,然后按Enter。从结果中总结如何进行。
如果使用SDK 9.0及更高版本的应用程序,则必须确保将要打开的应用程序方案添加到主应用程序的info.plist中:
如果不将以上内容添加到主应用程序的info.plist中(相应地更改方案),canOpenURL将始终返回NO。除非使用iOS SDK低于9.0的应用,否则不会发生。
另外,请使用以下逻辑,因为这样做更安全:
NSString * urlStr = @"mycustomurl://"; NSURL * url = [NSURL URLWithString:urlStr]; if ([[UIApplication sharedApplication] canOpenURL:url]) { if([[UIApplication sharedApplication] openURL:url]) { // App opened } else { // App not opened } } else { // Can not open URL }
我建议的最后一项检查是在设备中打开Safari应用,在url字段中输入应用方案网址字符串,然后按Enter。从结果中总结如何进行。