有人能想到openURL返回false但应用程序成功打开的情况的解释吗?
NSString *appUrlPathStr = @"";
NSURL *appUrlPath = [NSURL URLWithString:appUrlPathStr];
if([[UIApplication sharedApplication] canOpenURL:appUrlPath]) {
if ([[UIApplication sharedApplication] openURL:appUrlPath]) {
NSLog(@"app opened");
} else {
NSLog(@"app not opened");
}
}
注意:此处的代码中未包含url字符串本身。
最佳答案
我不仅遇到了同样的问题,而且使情况更糟的是,另一个应用程序只有在未暂停或不 Activity (即重新启动)时才会打开
对我来说,问题是我没有将要查询的自定义方案添加到Info.plist
文件中。
一旦将其添加到LSApplicationQueriesSchemes
条目中,问题就消失了。
有关更多信息,请参见:http://useyourloaf.com/blog/querying-url-schemes-with-canopenurl/
希望这可以帮助!