我已经将whastapp集成到了我的iOS应用程序中。当我在我的iOS 10设备上测试它时。它因一个问题而崩溃。
快照未呈现的视图将生成空快照。确保在快照或屏幕更新后的快照之前至少呈现过一次视图。
NSURL *whatsappURL = [NSURL URLWithString:[NSString stringWithFormat: @"whatsapp://send?abid=%@&text=WelcomeToChatBought",[abidArray objectAtIndex:buttonclicked.tag-1000]]];
if ([[UIApplication sharedApplication] canOpenURL: whatsappURL])
{
[[UIApplication sharedApplication] openURL: whatsappURL];
}可能是什么问题。任何帮助都将不胜感激。
发布于 2016-10-14 11:40:02
如果没有设置,则需要在plist中设置LSApplicationQueriesSchemes:
喜欢,
<key>LSApplicationQueriesSchemes</key>
<array>
<string>urlscheme1</string>
<string>urlscheme2</string>
</array> 另外,请注意,在:) 10中不推荐使用iOS。
新的UIApplication方法openURL:options:completionHandler:,该方法异步执行,并在主队列上调用指定的完成处理程序(此方法替换openURL:)。
iOS 10__中的新方法
- (void)openURL:(NSURL*)url options:(NSDictionary<NSString *, id> *)options
completionHandler:(void (^ __nullable)(BOOL success))completion参数:
URLopenURL:相同的行为,请使用空字典。Nullable。喜欢,
UIApplication *application = [UIApplication sharedApplication];
[application openURL:URL options:@{} completionHandler:nil];示例:
NSString *scheme=[NSString stringWithFormat: @"whatsapp://send?abid=%@&text=WelcomeToChatBought",[abidArray objectAtIndex:buttonclicked.tag-1000]]];
UIApplication *application = [UIApplication sharedApplication];
NSURL *URL = [NSURL URLWithString:scheme];
if ([application respondsToSelector:@selector(openURL:options:completionHandler:)]) {
[application openURL:URL options:@{}
completionHandler:^(BOOL success) {
NSLog(@"Open %@: %d",scheme,success);
}];
} else {
BOOL success = [application openURL:URL];
NSLog(@"Open %@: %d",scheme,success);
}点击此处阅读更多信息:
http://useyourloaf.com/blog/openurl-deprecated-in-ios10/
编辑:(基于iOS版本的代码)
NSURL *URL = [NSURL URLWithString:strUrl];
if([[UIDevice currentDevice].systemVersion floatValue] >= 10.0){
if ([application respondsToSelector:@selector(openURL:options:completionHandler:)]) {
[application openURL:URL options:@{}
completionHandler:^(BOOL success) {
NSLog(@"Open %@: %d",scheme,success);
}];
} else {
BOOL success = [application openURL:URL];
NSLog(@"Open %@: %d",scheme,success);
}
}
else{
bool can = [[UIApplication sharedApplication] canOpenURL:URL];
if(can){
[[UIApplication sharedApplication] openURL:URL];
}
}https://stackoverflow.com/questions/40040853
复制相似问题