URL Scheme 可以启动相同的应用程序吗?

Can URL Scheme Launch Same App?

我想在我的应用程序进入后台后启动它。我使用了以下代码:

NSString *customURL = @"TestApp://?caller=TestApp%3A%2F%2Fblabla";

if ([[UIApplication sharedApplication]
     canOpenURL:[NSURL URLWithString:customURL]])
{
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:customURL]];
}

else
{
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"URL error"
                                                    message:[NSString stringWithFormat:
                                                             @"No custom URL defined for %@", customURL]
                                                   delegate:self cancelButtonTitle:@"Ok"
                                          otherButtonTitles:nil];
    [alert show];
}

但它在模拟器中工作正常,但在 iOS 设备中不工作:我已经在 iPhone 5 和 iOS 8.1.3

中进行了测试

如果我们需要做任何额外的事情,请指导我。 这里的 TestApp 是我在 info.plist 文件中放入的 URL 方案。

不,您不能使用 URL 方案打开您自己的应用程序。

如果您遇到错误(:LaunchServices:应用程序启动失败 - 收到安全错误)

试试这个 -

  1. 安装应用程序。
  2. 通过普通应用程序快捷方式启动应用程序。
  3. 如果弹出窗口打开,请点击 'trust'。
  4. 终止进程
  5. 尝试通过 URL/Bookmark
  6. 启动进程

从 iOS 8.x 开始,从其他来源安装应用程序,例如来自贵公司的 QA 测试网站或其他地方,将显示一条警报 "Untrusted App Developer",表明它来自不受信任的应用程序开发人员

应用程序显示此消息是因为应用程序是通过用户尚未信任的企业证书签名的。 Apple 强制出现此提示,因为正在安装的应用程序尚未通过 App Store 审核流程,因此在技术上不受信任。 用户接受提示后,证书将被标记为受信任。 信任应用程序后,您可以使用 URL Scheme Launch 打开您的应用程序。