iphone - 如何重新启动打开我的自定义 URL 方案的应用程序?

标签 iphone ios cocoa-touch url-scheme custom-url

我正在开发一个管理我自己的 URL 方案的应用程序,因此我实现了回调:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions (NSDictionary *)launchOptions
{
    // Get our launch URL
    if (launchOptions != nil)
    {
        // Launch dictionary has data
        NSURL* launchURL = [launchOptions objectForKey: UIApplicationLaunchOptionsURLKey];

        // Parse the URL
        NSString* hostString = [launchURL host];

        blah blah blah...

效果很好,但我需要启动调用方应用程序(即打开 URL 的应用程序)。所以我的问题是,这可能吗?

我一直在玩 UIApplicationLaunchOptionsSourceApplicationKey 但我无法通过其应用程序包 ID 重新启动该应用程序。我可以吗?

我也尝试过 UIApplication 的未记录的 launchApplicationWithIdentifier:,但我需要一个真正的解决方案,而且似乎解决方法只适用于模拟器。

有什么想法吗?谢谢!

最佳答案

唯一的方法是让两个应用都支持自定义 URL 方案。然后将调用方 URL 嵌入到其他应用的 URL 中。

例如,假设 App2 想要以某种方式调用 App1,以便 App1 然后可以“回调”到 App2。它将创建并打开这样的 URL:

app1://?caller=app2%3A%2F%2Fblabla

当你解码 caller 部分时,你会得到字符串 app2://blabla 然后你可以用 openURL: 再次打开它“回电”。

关于iphone - 如何重新启动打开我的自定义 URL 方案的应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9022967/

相关文章:

iphone - iOS 4.2+ webfont (ttf) 的粗体字体渲染错误

ios - iPhone 字体问题

iOS UITextField Auto Resize 符合内容

c# - 无一异常(exception)地设置属性时单例类崩溃

iphone - 如何创建 UIImageView 实例的副本?

ios - 每 x 秒更新一次带有速度的标签

objective-c - Objective C 在两个字符串连接之间插入变量

iphone - 将 Max IndexPath 设置为高于 10?

ios - iOS TabBarViewController 中的全局变量

ios - 如何在 Objective-C/iOS 中的客户端上创建虚拟 JSON 数据?