返回 {AppName} 未显示 | iOS9 打开网址

Back To {AppName} Not Showing Up | iOS9 openURL

我正在使用以下代码:

NSString *customURLString = [NSString stringWithFormat: @"secondApp://?%@", [document fileId]];
NSURL *customURL = [NSURL URLWithString: customURLString];
[[UIApplication sharedApplication] openURL: customURL];

成功打开第二个应用程序后,"Back To firstApp" 未显示。有什么我想念的吗?一直在互联网上搜索这个答案,并试图确保 "Back To firstApp" 在那里。

有人遇到过这个吗?

值得检查:"Back to ..."仅在状态栏可见时出现。您确定您的第二个应用显示状态栏吗?

我想到的唯一解释是您的第二个应用程序可以使用已弃用的全屏启动方法。请检查是否:

您的代码没有问题,请检查这是否为您提供了所需的行为。

[[UIApplication sharedApplication] openURL: [NSURL URLWithString:@"https://whosebug.com"]];

如果是这样,则您的第二个应用程序有问题。

像这样设置目标应用程序的 info.plist。

<key>LSApplicationQueriesSchemes</key>
<array>
    <string>Myapp</string>
</array>
<key>CFBundleURLTypes</key>
<array>
    <dict>
        <key>CFBundleURLName</key>
        <string>com.Myapp.demo</string>
        <key>CFBundleURLSchemes</key>
        <array>
            <string>Myapp</string>
        </array>
    </dict>
</array>

将此方法放入目标应用程序的 AppDelegate.m

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
  return YES;
}

现在使用此从您的源应用程序打开目标应用程序。

NSString *customURLString = [NSString stringWithFormat: @"Myapp://"];
NSURL *customURL = [NSURL URLWithString: customURLString];

[[UIApplication sharedApplication] openURL: customURL];

这肯定会在状态栏上显示返回应用程序

您也可以通过在 Safari 中输入 Myapp:// 来查看。它将使用 Back To Safari.

打开您的应用程序

我找到了答案。

显然,如果您将此放入第二个应用程序的 info.plist,

并声明 View controller-based 状态栏外观为 NO。它不会显示返回按钮。不太清楚为什么,但这解决了我的问题。

谢谢大家的支持!